Task.Factory.StartNew no ejecuta la tarea cuando se implementa

Tengo un código aquí que funciona como se esperaba cuando lo instalo / ejecuto en mi propia computadora, Windows 7, pero cuando lo ejecuto en otros servidores (2003 y 2008) no lo hace. El código es de una biblioteca de servicios WCF .NET4 que uso en un servicio de Windows. Aquí está, simplificado.

public void monitorQueueAndDoStuff() {
  MonitorRetryQueue();
  MonitorMainQueue();                
}

private void MonitorMainQueue() {
  Log.Info("MonitorMainQueue called");
  Task.Factory.StartNew(() =>
  {
    Log.Info("new thread monitoring queue");
    // ...NMS stuff

        while (!stopped) {
          ITextMessage mess = null;
            mess = blockingMessageCollection.Take();
            sendToQueue(mess);
        }
      }
    }
  });
}


private void MonitorRetryQueue() {
  Task.Factory.StartNew(() =>
  {
    //...NMS stuff
        consumer.Listener += new MessageListener(OnRetryErrorMessage);
        Log.Info("new thread monitoring second queue");

        //need to be constantly up for the consumer to hang around
        while (!stopped) {
          Thread.Sleep(1000);
        }
      }
    }
      });
}

Los hilos deben ingresar bucles para hacer algún trabajo. El principal se bloquea en un BlockingCollection. Ahora, crea ambas tareas pero solo ingresa a la segunda, nunca imprime "nueva cola de monitoreo de subprocesos" en el registro. No puedo entender por qué no. Intenté la depuración remota, pero como nunca ingresa el código no pude ver nada de valor.

No he encontrado nada que pueda cambiar el comportamiento del código en el servidor implementado. ¿Alguien aquí podría tener una pista? ¿Alguna configuración en el proyecto de Visual Studio?

Respuestas a la pregunta(3)

Su respuesta a la pregunta