In cases where my code looks like this:
int i = 12345;
string msg = string.Format("i = ", i.ToString())
ReSharper suggests to "Remove redundant 'ToString'" and identifies "i.ToString" as a "Redundant "Object.ToString()" call".
If I am not mistaken, if I don't call ToString explicitly on the i variable, i will be boxed, and then ToString() will be called on the boxed integer. This is a performance issue, as the value type int/Int32 has a ToString that is optimized and doesn't require boxing.
In other words, if we have this:
object void Method(string arg1)
object o = Method(i) // involves a boxing operation on i
object o = Method(i.ToString()) // no boxing
If I am correct (and I believe I am) ReSharper's suggestion that the ToString() is redundant will introduce an unnecessary performance penalty if the suggestion is made for value types that already define their own ToString method, like Int32s do.