Ok, you want to know why?
The XML Serializer isn't just about serializing and deserializing. It's also about serializing/deserializing XML that validates against the XML Schema that is also produced by XML Serialization.
How would you define a dictionary in XML Schema? When you do, will you maintain the semantics of unique key? If you do, will any caller be able to look at that schema definition and determine that it really means a dictionary?
I've just read Collection Types in Data Contracts and learned more about data contracts and collections than I had previously thought existed. I recommend that anyone interested in the subject read that section, the sections it references, and the related sections.
Among other things, you'll learn how the DataContractSerializer gets solves the problem of XML Schema having no way to describe a dictionary - it adds a WCF-specific annotation to the XML schema. Only code that understands that annotation will know that the schema is describing a dictionary.