Because the Format method has nothing to do with a string's current value.
That's true for all string methods because .NET strings are immutable.
If it was non-static, you would need a string to begin with.
It does: the format string.
I believe this is just another example of the many design flaws in the .NET platform (and I don't mean this as a flame; I still find the .NET framework superior to most other frameworks).