Or that OP has a networking issue. Some firewalls are known for dropping what they think are idle connections when they aren't.
I don't think so.. EOF is an explicit termination, not a timeout as would caused by a firewall dropping traffic. It's more like what happens when the remote process on the client is killed for example. Postgres probably expects to see some kind of "quit" command prior to receiving the EOF.