Если у вас нет какого-либо пользовательского интерфейса, вам нужен какой-либо вид сортировки в другом потоке? Если вы выполняете задачи одну за другой, я бы просто вызывал их напрямую, если вам не нужно , чтобы сделать что-нибудь более сложное. Если вы знаете, что нужно сделать это в отдельной ветке, пожалуйста, опубликуйте более подробную информацию о ваших требованиях (включая тип проекта).
Насколько я знаю, BackgroundWorker
вообще не считается устаревшим. В C # 5 это станет несколько менее важным из-за новых асинхронных функций, но, насколько я знаю, его можно использовать без проблем.