I am not sure why there is no exception threw if the client disconnect the connection when server try to read data from network stream.
In your case, thisRead of below statement is zero?
thisRead = m_Stream.Read(m_ReadBuffer, 0, m_ReadBuffer.Length)
You can try to return null if thisRead == 0 to quit the loop and then the connection will be closed.
I also will verify this issue and try to fix it in SuperSocket. Could you provide some client code about the case that client deliberately disconnect a socket.
Thank you for reporting this issue to me.