Você executou uma captura de pacotes de uma das extremidades? Isso permitirá que você saiba se um tempo limite está ocorrendo ou se um TCP RST está sendo enviado de uma forma ou de outra. Eu começaria com isso primeiro.
Eu suspeito que uma política no seu firewall esteja fazendo isso. Porém, se esse for o caso, a captura mostrará o TCP RST vindo do IP do host interno (mesmo soquete) .