Isso é normal. Não há nada no TCP que exija que o link permaneça ativo permanentemente - se a conexão estiver inativa (nenhum dado enviado ou recebido), ela poderá persistir enquanto ambas as extremidades ainda tiverem o soquete aberto. (É claro que, se uma extremidade tentar enviar dados e nunca receber um ACK, ela eventualmente fechará a conexão devido ao tempo limite.)
Infelizmente, isso costuma ser interrompido por NATs / firewalls com informações de estado; por exemplo, se você reinicializar seu roteador doméstico, ele esquecerá tudo em sua tabela NAT e poderá silenciosamente remover dados de entrada ou até mesmo fechar a conexão, já que não sabe mais para qual host local encaminhar pacotes.