.NET Strings are Immutable
Therefore having an instance method makes absolutely no sense.
By that logic the string class should have no instance methods which return modified copies of the object, yet it has plenty (Trim, ToUpper, and so on). Furthermore, lots of other objects in the framework do this too.
I agree that if they were to make it an instance method, Format
seems like it would be a bad name, but that doesn't mean the functionality shouldn't be an instance method.
Why not this? It's consistent with the rest of the .NET framework
"Hello {0}".ToString("Orion");