По соображениям производительности - кажется, десериализация с использованием конструктора по умолчанию без параметров и установка свойств довольно медленна - способ, которым WCF обрабатывает это намного быстрее.
По этой причине DataContractSerializer не требует общедоступного конструктора без параметров (как это делает XmlSerializer) - вам это не нужно, он все равно не будет использоваться.