Вы не должны отмечать и поле, и свойство атрибутами DataMember! У меня такое чувство, что это, вероятно, и является причиной проблемы, с которой вы сталкиваетесь, но я точно не знаю. Но, в основном, пометив поле и его вспомогательное свойство как DataMember's, вы сериализуете значение дважды, и оно будет десериализовано дважды, и в зависимости от того, как генерируется ваш код на стороне клиента, это может даже привести к сохранению значения дважды.
Короче говоря, пометьте ваши поля как DataMember или свойства, но не оба. Для пометки полей может потребоваться указать имя в DataMemberAttribute, чтобы при генерации кода на стороне клиента создавались ожидаемые имена свойств.