Ethernet sheild stops connecting after an extended period

Not only are you still using the String class, you are using two different String classes. That really has to stop.

  currentLine.reserve(256);
  tweet.reserve(150);

Are these really reasonable values?

void loop(){
  
  Ethercheck();
}

Calling just one function from loop() is a waste of time and resources.

Your constant strings in Serial.print() functions are taking up SRAM, too. Stop that by wrapping them in the F() macro.
Serial.println(F("Tweeting ..."));