Я сам боролся с подобной проблемой. У меня есть класс, который наследуется от ConfigurationSection, но я получаю то же сообщение об ошибке, когда пытаюсь использовать его вместе с XMLSerializer.
Я считаю, что эта проблема не может быть решена в вашем классе. Проблема заключается в свойствах предка (ConfigurationSection). Он имеет 4 открытых свойства типа ConfigurationLockCollection (а именно LockAllAttributesExcept, LockAllElementsExcept, LockAttributes и LockElements). Во время сериализации сериализатор обнаруживает, что эти свойства реализуют ICollection, но не имеют требуемых методов доступа по умолчанию, следовательно, исключение.
Я, со своей стороны, пытался скрыть эти 4 свойства и украсить их с помощью XMLIgnore (), но все же получил ту же проблему. AFAIK, невозможно будет сериализовать какой-либо класс, который наследуется от ConfigurationSection, пока MS не добавит средство доступа по умолчанию к ConfigurationLockCollection.
На данный момент я буду реализовывать свои собственные методы, которые сериализуют только те свойства, которые мне нужны, из моего настраиваемого раздела конфигурации.