I have no idea if this is related to your problem, but...
I once had a connection timeout where a big institution was using Cisco routers, which charged ongoing license fees,
tieredby how many connections they would support. And they configured them to recognize keepalive packets, and drop
connectionswhich only had keepalive packets for some length of time!