public void Dispose() { if (Interlocked.CompareExchange(ref _isDisposed, 1, 0) == 0) { _thisLock.Dispose(); } } }