После завершения метода, снова бросает внутрь кода

Есть сайт у компании в которой я работаю. И вот я собственно напросился делать бота, хотя занимался другими делами. Бот хорошо работает, но не в одном случае. Концепция такая что у меня 3 потока. Первый ищет новых юзеров. Второй делает для них события(просмотры и лайки по времени) и добавляет их в бд. Ну а третий пробегает по этой таблице их выполняет. Ниже представлен метод который участвует в жизнедеятельности 3 потока.

И все бы хорошо. НО. Есть такой исход, что с интернетом какие то траблы и ответ от сервера пустая строка. Я это исправил проверкой ответа на эту пустую строку и рекурсивного запуска метода в случае если она и вправду пустая. Но что то пошло не так... Если интернета нет, он перезапускает себя пока ответ сервера не будет чем то больше "". Но когда в это время интернет появляется, он хорошо отрабатывает себя до конца. Пишет мне в консоль и когда доходит до конца метода снова перекидывает меня на строчку с рекурсивным вызовом этого метода. Вот вопрос почему. Не бейте меня если вопрос глуп и мой код тоже, это мой первый вопрос тут и я только начал изучать программухтерство.

static string makeLike(String goid)
    {
        var client = new RestClient("https://нашсайт.ру/тут еще кое-что/тут тоже/ну и тут");
        client.Timeout = -1;
        var request = new RestRequest(Method.POST);
        request.AddHeader("Authorization", $@"Bearer {getRandAuthKeyRussian()}");
        request.AlwaysMultipartFormData = true;
        request.AddParameter("goid", goid);
        IRestResponse response = client.Execute(request);            
        Console.WriteLine(response.Content);
        dynamic json = null;

        if (response.Content != "")
        {
            json = JObject.Parse(response.Content); //тут парсим ответ сервера
        }
        else
        {
            Thread.Sleep(5000);
            Console.WriteLine("Повторная попытка поставить лайк");
            makeLike(goid); //тут снова вызываем так как ответ сервера пустая строка, а такого не может быть значит дело в инете или еще в ком нибудь
        }

        if (json.status.ToString().Equals("401"))
        {
            updateTokenAuth(); //тут мы обновляем токены если ответ сервера 401
        }            

        if (json.status == 400) //ну если 401 ответ то лайк есть
        {
            Console.BackgroundColor = ConsoleColor.Red;
            Console.WriteLine("Лайк от это пользователя уже поставлен!");
            Console.ResetColor();
        }
        if (response.Content != null && response.Content != "" && json.status != 400)// а тут мы пишем в консоль что все удачно
        {

            Console.BackgroundColor = ConsoleColor.Red;
            Console.Write("Лайк пользовтелю: " + goid + "! ");
            Console.ResetColor();
            Console.Write("Ответ сервера: " + json.status);
            Console.WriteLine(" Статус: " + json.data.like);                
            return json.status;
        }
                   
        return null;

    }

Ответы (0 шт):