I have a set of extension methods that I regularly use for various UI tasks. I typically define them to run off of type object, even though inside of them I\'m
Compared to when you call ToString befor the call to FormatSomething not really (you're null check might take a few more ms but they also make the code more robust.
Even if the compile time type of the object you're calling the method on was string it still would make a visible difference.
Don't worry about performance until you have a performance issue. Until then worry about maintainability including readability. If you have a performance problem then use a profiler to find where it is.