Blynk Disconnected after some days (Freeze)

But when i connect it to usb to read serial port then reconnects !!!

void MyWiFi() {
  int mytimeout = millis() / 1000;

  if (WiFi.status() != WL_CONNECTED) {
    WiFi.begin(ssid, pass);
  }

  while (WiFi.status() != WL_CONNECTED) {
    delay(700);
    Serial.print(".");
    if ((millis() / 1000) > mytimeout + 4) { // try for less than 4 seconds to connect to WiFi router
      break;
    }
  }

  if (WiFi.status() == WL_CONNECTED) {
    Serial.print("\nWifi Connected\n");
    //Serial.println(WiFi.localIP());
  }
  else {
    Serial.println("\nCheck Router ");
  }
  Blynk.config(auth, "cod3r.dev", 8080);
  Blynk.connect(4000);
  Connected2Blynk = Blynk.connected();

}


void CheckConnection() {
  Connected2Blynk = Blynk.connected();
  if (!Connected2Blynk) {
    log("Reconnect....");
    MyWiFi();
    Reconect_Attempts++;
    if (Reconect_Attempts == 3) {
      log("We must Reboot sorry :( ");
      resetFunc();
    }
  }
  else {
    Reconect_Attempts = 0;
    log("Still connected to Blynk server :) ");
  }
}


void loop()
{
  if (Connected2Blynk) {
    Blynk.run();
  }
  timer.run();
}