Я считаю, что в некоторых случаях вы можете принудительно сериализоваться, несмотря на объявления Type. Однако существует риск, поскольку у класса могут быть поля, которые нельзя сериализовать, что вызовет исключения во время выполнения.
Мне любопытно, поскольку вы получаете бесплатные конструкторы по умолчанию без аргументов, если только вы не написали собственные конструкторы. Также для Serializable требуется 30 секунд поиска / замены.
Есть ли причина, по которой вы пытаетесь избежать этого?