With CSharp, required properties are not annotated as such:

Indeed the "Fail if required properties are missing" option seems to do nothing.
Current Output
[JsonPropertyName("vatCode")]
public string VatCode { get; set; }
Expected Output:
[JsonRequired]
[JsonPropertyName("vatCode")]
public string VatCode { get; set; }