You're confusing binary serialization with XML serialization.
XML serialization is a very simple process that saves field values and restores into a new object.
Binary serialization is much more powerful, and allows the object to control serialization behavior. The ISerializable interface, which Uri does implement, is only used for binary serialization.