I have a simple use case where I am using a system with German language set as system locale (regional format as German as well as current system locale as German).
e.g.
string sourceValue = "0,123";
string target_invariant = sourceValue.ToString(CultureInfo.InvariantCulture);
string targetValue = sourceValue.ToString();
Console.WriteLine(target_invariant); // shows 0,123
Console.WriteLine(targetValue); // 0,123
I would have expected that using InvariantCulture with ToString would produce a culture neutral format such as "0.123" which it does not!!