Я не программирую на C#, поэтому могу сказать только по подходу к задаче. На каждую страницу по потоку - расточительство. Тем более, что на каждом углу говорят о том, как удобно сделана асинхронность в C#. Т.е. потоки не нужны вообще, скачивать надо асинхронно и единственный поток вполне справится со скачиванием данных на достаточно широком канале.