Нет, не похоже, что вы правильно читаете документацию.
DataContracts - это способ публичного обмена информацией, которая немного отличается от обычной сериализации.
Из документациистраница, на которую вы ссылаетесь:
Атрибут DataMemberAttribute должен быть применен к каждому члену типа контракта данных, чтобы указать, что это элемент данных, то есть он должен быть сериализован.
Но это применимо только в том случае, если вы добавляете атрибут [DataContract]
, как вы сделали.