public void Dispose() { if (LowLevelSocket != null) { LowLevelSocket.Close(); // Note: Socket.Close() just calls Socket.Dispose() LowLevelSocket = null; } }