Can some one please explain why is there a While(True); at the end of this program?

Apparently, that does terminate main() since this

void setup()
{
  Serial.begin(9600);
  Serial.println("Ready");
}

void loop()
{
  Serial.println("Loop");
  delay(3000);
  exit(1);
}

Produces this output (only 1 time through loop)

Ready
Loop