c # Threadpool - límite de número de hilos

Estoy desarrollando una aplicación de consola.

Quiero usar un Threadpool para realizar descargas web. Aquí hay un código falso.

 for (int loop=0; loop< 100; loop++)
 {
     ThreadPool.QueueUserWorkItem(new WaitCallback(GetPage), pageList[loop]);
 }


snip

private static void GetPage(object o)
{
    //get the page
}

¿Cómo evito que mi código inicie más de dos (o diez, o lo que sea) subprocesos simultáneos?

Yo he tratado

    ThreadPool.SetMaxThreads(1, 0);
    ThreadPool.SetMinThreads(1, 0);

Pero parecen no tener impacto.