Я думаю, что ваш уровень абстракции может быть немного ниже. Думайте о рабочей роли как о физической машине, а не как о службе Windows.
Как только он запустится, вы можете делать все, что делаете на стандартном сервере, поэтому вместо «как многопоточность» просто делайте многопоточность. (Лично я рекомендую использовать .NET4 Task Parallel Library, это круто;))