Attributes and virtual methods
I'll sum this up quickly by repeating a coversation I had with myself about an hour ago while coding:
"Hey -- idiot! If you're going to override a virtual method that was marked with XmlExclude (because it's exposing a Dictionary that I don't need to serialize), make sure you add the XmlExclude to your override method as well!"