There are a lot of blogs out that that tries to explain which is what, and why it is the way it is.
To those of you who just want to know what the results are. I wrote a quick little app to show what happens.
As you can see, DateTime.ToString() formatting is driven purely by CurrentCulture.
You can read more about the reasons and background here:
For other DateTime Format String info, check out my blog post ".NET Format String 102: DateTime Format String".