Вы заполняете сервер запросами:
for (; ; )
{
Console.WriteLine(IsConnectedToInternet);
}
будет зацикливаться как можно быстрее, отправляя запрос после запроса.
Если вы просто кодируете службу поддержки активности или контроль состояния службы, тогда достаточно использовать таймер, который пингует каждую минуту или даже каждые 10 минут.
Кроме того, как другие отмечали в своих комментариях, вы злоупотребляете свойствами, выполняя эхо-запрос в получателе, поскольку вызов может потенциально занять некоторое время, и получатели свойства должны действительно вернуться, если не сразу, то очень быстро. У CheckConnection()
метода было бы более ясное намерение.