public void Dispose() { stop = true; if (messagePump != null) { messagePump.Wait(); } if (_client != null) { _client.Dispose(); _client = null; } }