CLOSE_WAIT significa que o soquete recebeu um pacote FIN da outra extremidade e está aguardando para ser fechado pelo aplicativo que possui o soquete de escuta. Não chamar close () em um soquete de escuta pode fazer com que ele flutue, como aconteceu com você.
Como é um aplicativo .NET interno, eu verificaria o seu código-fonte para garantir que o soquete está sendo fechado () corretamente antes de sair.
Mais informações sobre estados de soquete, incluindo CLOSE_WAIT: link