Рисовать потоки из выделенного кода на странице ASP.NET рискованно, потому что рабочий процесс будет периодически перезагружаться, а ваш поток умрет.
Если вам нужно запустить длительные процессы в результате действий пользователя на веб-страницах, вам лучше всего отправить сообщение в MSMQ и иметь отдельную фоновую службу, отслеживающую очередь. Служба может занять столько времени, сколько она хочет, чтобы выполнить задачу, и веб-страница будет готова практически сразу. Вы можете сделать то же самое с помощью асинхронного вызова веб-метода, но не полагайтесь на получение ответа, когда веб-метод завершит работу. Из-за кода, это должен быть быстрый запуск и забывание.