I haven't experienced this particular problem, but I have had a similar one in the past that took weeks to track down. (if only we had splunk back then... )
We had a firewall in place that would, after a period of inactivity, stop forwarding data on a given open port. To the client it looked like it was sending data, on the server it looked like no data was being sent. It was only when we correlated the lost connection with a 30 minute inactivity period that we were able to figure things out. We had assumed that a firewall issue would mean a blocked port, not a non-forwarded port.
The final solution for us was to use TCP Keep-alives configured at the OS level. As a temporary solution, we wrote a small script that generated a small amount of activity every 29 minutes.
I'm not saying this is your problem, but it's worth spending a few minutes looking into.
... View more