Any exception from Socket.Send() closes the connection:
SendTimeoutExpiredException does not do that.
This leaves the connection in the pool for quite a while. In our case the socket never recovers. Never throws an exception either. So, the connection stays in the pool and keeps causing timeout exceptions.
It’s pretty urgent issue here. Could you suggest any workarounds that I can implement in my code until you fix it?