Hi,
I was experiencing something similar using HttpWebRequest.
My problem was that property KeepAlive was true (default), which causes the n+2 to "run out" of sockets.
I changed it to false since all my data is in the header anyway.
Maybe you should add a Dispose() in your network code.
Regards,
Martin