Можно использовать для более коротких задач. У меня есть система отчетов, которая делает это так, что, хотя пользователь быстро получает первую часть отчета, статистика может быть сгенерирована отдельно, чтобы они были готовы к тому времени, когда клиент доберется до них. Для процессов, работающих дольше (в моем случае дольше 30 с), вы захотите использовать какой-то сервис и добавить свою задачу в очередь.
Вам также нужно учитывать, что, если пул приложений перезапускается, он прерывает ваши потоки, что создает дополнительный стимул для перемещения этих потоков в другое место.
Наконец, вы захотите указать, что ваш процесс завершен. Подумайте, как вы узнаете, когда завершится поток, чтобы при повторной попытке запроса вы не генерировали тот же набор данных, который, возможно, уже обрабатывается.