Ваша проблема в том, что вы используете сервис как консольное приложение.Когда пользователь выходит из системы, приложение останавливается.
Разместите свою службу в службе Windows, что позволит ей запускаться и работать без входа пользователя в систему.
MSDN включенхостинг в службе Windows
в качестве подсказки, в методе OnStart добавьте следующую строку:
Debugger.Launch();
и оператор using:
using System.Diagnostics;
если у вас возникли проблемы с запуском и немедленной остановкой сервисаЭто должно позволить вам присоединить отладчик к службе, поскольку она начинает устранять проблему.