I think it looks better in general to use String.Format, but I could see a point in wanting to have a non-static function for when you already have a string stored in a variable that you want to "format".
As an aside, all functions of the string class don't act on the string, but return a new string object, because strings are immutable.