public void Dispose() { lock (disposedLocker) { if (!disposed) { disposed = true; taskManager.Dispose(); loopManager.Dispose(); GC.SuppressFinalize(this); } } }