public void Dispose() { lock (_syncObj) if (_nextInputSource != null) { _nextInputSource.Dispose(); _nextInputSource = null; } PlaybackSession playbackSession = _playbackSession; if (playbackSession != null) { playbackSession.Dispose(); } }