Вы пробовали отключить прокси?
У меня была та же проблема, и настройка прокси на ноль исправила таймауты.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Proxy = null; // bypass autodetect proxy
При запуске в качестве автономного приложения будут использоваться настройки прокси-сервера учетной записи.
При запуске в качестве службы используется локальная учетная запись службы и используются настройки прокси-сервера по умолчанию.
Вы также можете попытаться добавить точку останова и найти поле прокси
с вашим отладчиком. Это даст вам лучшее представление о «запущенном контексте службы»
System.Diagnostics.Debugger.Break();