Pausa / Reanudar bucle en Trabajador en segundo plano

Tengo un bucle en Trabajador en segundo plano en una aplicación Winform.

Acabo de usar estaCódig pero no se reanudará después de la pausa.

En la clase principal utilizo este

System.Threading.ManualResetEvent _busy = new System.Threading.ManualResetEvent(false);

Entonces en My Start Click escribí esto:

      if (!backgroundWorker1.IsBusy)
            {
                MessageBox.Show("Not Busy"); //Just For Debugg
                _busy.Set();
                Start_Back.Text = "Pause";
                backgroundWorker1.RunWorkerAsync(tempCicle);   
            }
            else
            {
                _busy.Reset();
                Start_Back.Text = "Resume";
            }

            btnStop.Enabled = true;

Entonces en backgroundworker doWork escribí esto:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
     m_addTab addTabsInvoke = addTabUrl2;
      Invoke(addTabsInvoke, "http://www.google.com");
        foreach (something)
                {
                    _busy.WaitOne();

                    if (backgroundWorker1.CancellationPending)
                    {
                        return;
                    }
                    if (tabs.InvokeRequired)
                        {
    ......
    ......

No puedo entender por qué la pausa funciona mientras que el currículum no funciona. ¿Me equivoqué con algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta