Definitely XmlSerializer will create numbers with ',' if the thread culture has NumberFormat.NumberDecimalSeparator = "," I think this is a bug given that the XmlDeserializer ignores the thread culture and will throw an error if it finds numbers with comma...