Asynccall, вероятно, будет запущен в фоновом рабочем потоке. Так что может случиться так, что ваш асинхронный поток прекращает работу, потому что поток переднего плана завершил свою обработку.
Если у вас нет логики после выполнения этого вызова для ожидания ответа или продолжения какой-либо другой работы в основном потоке, фоновый поток может не иметь времени для создания до выхода из приложения.
Это легко проверить, добавив Thread.Sleep после асинхронного вызова.
client.DoSomethingAsync();
Thread.Sleep(1000);
Симптомом этого является то, что ваша служба неожиданно запускается / останавливается, и Windows выдает ошибку.