public virtual void Dispose() { Disconnect().Wait(); _receivedObservable.Dispose(); _sentObservable.Dispose(); CommPort.Dispose(); }