А>Для того, что бы научить xml сериализатор сериализовывать и дессириализовывать класс с полем типа object (которое может быть произвольного типа, указанного в поле CurrentType), реализую ISerialazble.
XML-сериализация и ISerializable — это две совершенно не связанные вещи.
Для custom XML serialization есть IXmlSerializable.
А ISerializable — это для "стандартной" сериализации форматировщиками Remoting'а.