public override void Finalise() { Console.WriteLine("Starting Processor finalisation." + GetProcessorQueueCount() + " items left to process"); while (Dequeue(out var data)) { Action(data, new CancellationToken()); } _repository.Dispose(); Console.WriteLine("Finished Processor finalisation." + GetProcessorQueueCount() + " items left to process"); }