here is the deepest inner exception.
Message: An existing connection was forcibly closed by the remote host.
Stack Trace: at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
It was from CommunicationException first then SocketException which is the deepest exception.