private void ScheduleTaskOverThreadPool(CancellationToken token)
        {
            if (token.IsCancellationRequested)
            {
                return;
            }
            _logger.Information("Start scheduling.");

            foreach (var task in _tasks.GetConsumingEnumerable())
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }
                _customThreadPool.StartAction(() => TryExecuteTask(task));
            }

            _logger.Information("Done scheduling.");
        }