public static void StartWork(Task work)
        {
            BackgroundWorker worker = null;
            lock (idleWorkers)
            {
                if (idleWorkers.Count > 0)
                    worker = idleWorkers.Pop();
            }

            if (worker == null)
                worker = new BackgroundWorker();

            worker.Start(work);
        }