У меня была почти та же проблема, я выбрал службу Windows, которая программно запускала службу WCF, чтобы она могла взаимодействовать с моим основным приложением, и она работает довольно хорошо.Я даже добавил дополнительную логику.Я мог спроектировать задачи своего работника и загрузить их с помощью MEF на своего работника, чтобы работник даже не знал, что выполняется, он просто запускает задачи с параметрами, получает информацию о состоянии и возвращает результаты выполнения.