I fail to grasp how NumberFormat.Format(DateTime, CultureInfo) respects the provided CultureInfo object in any way or fashion. It seems to always manage to convert the date in any provided CultureInfo, even if that format does not exist for it.
That begs the question - is there an example you can provide where something unexpected is produced, or an exception of some kind is thrown due to differences in the CultureInfo object?
Perhaps the same issue persists in NumberFormat.Format(string, CultureInfo) but I think I'm wrong on this.