public void Dispose() { if (Disposed) { return; } lock (_disposeLock) { Disposed = true; _currentSessionEnumerator?.Dispose(); _currentSessionManager?.Dispose(); UpdateThread.Dispose(); } }