In beginning coding in C# DotNet, we usually come across such errors, and it's good to look into them, see link below for more details
.NET has a bug where it expects that the server will include a
Connection: closeresponse header if it will close the connection after the response is complete. If the server closes the connection without the
Connection: Closeheader (entirely valid per RFC2616), .NET will encounter the closed connection when attempting to send the next request on the connection and it will throw this exception. What .NET should be doing is silently creating a new connection and resending the request on that new connection.