Come dice la risposta a serverfault, quel stato è richiesto dal
RFC 793 ed è definito essere di 4 minuti.
Quindi il comportamento è giusto secondo la specifica; se Windows chiude il socket senza attendere quel tempo, allora è un suo errore nell'implementazione.
Se questo problema ti capita perchè stai debuggando l'implementazione del server del tuo protocollo, puoi temporaneamente cambiare porta a ogni prova (tanto dopo i 4 minuti puoi tornare a usare quella iniziale).
Se invece il problema è nel normale utilizzo del tuo protocollo, dovresti cambiarlo in modo che sia il client a iniziare la chiusura, in questo modo il server non deve entrare in TIME-WAIT.