XSD.EXE + JSON.NET - Como lidar com membros gerados xxxSpecified?

Ao usar o XSD.EXE para gerar classes a partir de um esquema XML, ele gera membros xxxSpecified de quaisquer primitivas de um determinado objeto:

<xs:complexType name ="Foo">
    <xs:all>
      <xs:element name ="Count" type = "xs:integer"/>
    </xs:all>
</xs:complexType>

.... gera:

public class Foo
{
    public int Count { get; set; }
    public bool CountSpecified { get; set; }
}

Parece que a versão mais recente do JSON.NET pode definir automaticamente essas propriedades ao desserializar.

string request = "{ Count : 10 }";
var object = JsonConvert.Deserialize<Foo>(request)
Assert.IsTrue(object.Count = 10); // Yup
Assert.IsTrue(object.CountSpecified == true);  //Also yup - JSON.NET works!

No entanto, ao seguir o caminho inverso, as propriedades xxxSpecified são incluídas na saída JSON, o que está incorreto, pois não faz parte do esquema.

string request = JsonConvert.Serialize(object); 
//{  
//   Count: 10, 
//   CountSpecified : true    <-- This is incorrect - should not be output 
//}

Está faltando alguma configuração que controla se os atributos xxxSpecified devem ser exibidos? Como posso suprimi-lo?

(Nota: esta é uma permutação de uma pergunta respondida aqui:

JSON.NET, XmlSerializer e propriedade "Especificada"

... mas envolve a criação de classes de extensão, o que não é possível para mim, pois existem centenas de classes no esquema e não posso alterar a hierarquia de herança. Então a resposta não vai funcionar. Procurando por outro caminho.)

questionAnswers(1)

yourAnswerToTheQuestion