Many work flows open a socket, read some amount of data, then write to the socket until completion before closing the connection. HTTP is a prime example. Currently, the socket manager has no shutdown function for closing a connection after flushing all buffers. It "kinda works" at the moment for most cases, because the socket managers ultimately get cleaned up when their reference count drops to 0. That is unless some other part of the application holds a reference to the manager in question.