Geode P2P handshake reader stops listening to it's socket once the handshake between 2 peers is established. This seems to be a design choice.
The problem is when the connection gets killed (TCP FIN). Since nothing is listening on the socket, nothing will get that FIN package and close the connection. The connection is left hanging (CLOSE-WAIT state). The peers are then unable to establish proper P2P communication later.