public void Dispose() { if (_isDisposed) { return; } _isDisposed = true; _jobs.CompleteAdding(); foreach (var job in _jobs) { job.Dispose(); } _activeJob?.Dispose(); _worker.Wait(); _worker.Dispose(); _jobs.Dispose(); }