OK - you do have an invisible instance
When Serial.println(myClass(123456).formatPrint()) is called, a temporary instance of myClass is created. Its formatPrint() method returns a pointer to a char buffer inside this temporary object. The buffer remains valid just long enough for Serial.println() to read and cache its content, after which the temporary object is destroyed and the pointer becomes invalid and goes out of scope.