Unexpected double output in setup() - Why???

It might be interesting to try

void setup() {
  Serial.begin(9600);
  delay(3000) ;
  Serial.println("Serial Monitor initialized...");
}

void loop() {}

[I hate delay(...) but it is useful for this experiment.]