O problema pode ser causado se o processo inativo tiver iniciado um ou mais processos filhos. Se
BOOL WINAPI CreateProcess(
_In_opt_ LPCTSTR lpApplicationName,
_Inout_opt_ LPTSTR lpCommandLine,
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ BOOL bInheritHandles,
_In_ DWORD dwCreationFlags,
_In_opt_ LPVOID lpEnvironment,
_In_opt_ LPCTSTR lpCurrentDirectory,
_In_ LPSTARTUPINFO lpStartupInfo,
_Out_ LPPROCESS_INFORMATION lpProcessInformation
);
foi usado para iniciar um processo filho, depende do valor de herdar alças, portanto, com
bInheritHandles = false
O Windows não bloqueará a porta se o processo pai for interrompido e o processo do cliente ainda estiver em execução.