Parece-me que você pode estar violando o contrato de licença desde que está usando o 2008 Web Edition:
De Aqui :
Windows Web Server 2008 is specifically designed to be used as a single-purpose Web server . It is intended only for Internet accessible, front- end Web serving of Web pages, Web sites, and Web applications.
De qualquer forma, a Web Edition do Server 2008 realmente tem um limite de 10 conexões TCP simultâneas semiabertas , mas nenhum limite razoável em conexões TCP ativas, de acordo com este funcionário da Microsoft :
It depends on the edition, Web and Foundation editions have connection limits while Standard, Enterprise, and Datacenter do not.
Mas se você está sempre vendo o número de conexões ficar exatamente igual a 1000, de forma consistente, então ainda não estou convencido de que conexões TCP abertas pela metade sejam o seu problema. Não foi possível informá-lo mais sem examinar seu código.
Mas você provavelmente deve sair do Web Edition, já que o está usando para algo diferente de executar um servidor da web. Portanto, a melhor resposta que eu acho que você obterá, dadas as informações que você nos forneceu, não, não há limite de conexões TCP ativas que estejam em qualquer lugar perto de 1000, impostas pelo sistema operacional ou pela estrutura .NET. É capaz de lidar com muitos, muitos mais que isso.
Editar: Suponho que você poderia tentar alterar a chave de registro HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableConnectionRateLimiting
para 0, mas isso pode ou não funcionar devido à sua Web Edition do Windows Server, bem como abrir você a possíveis ataques de negação de serviço (se Na verdade, você está tendo um problema com conexões TCP abertas pela metade, o que ainda não estou convencido de que você esteja. Execute um netstat e veja se você possui várias conexões que parecem estar presas em um estado SYN_SENT.)