パターンと思われる複数のケースにヒットしました:
Contract.Ensures(Contract.Result<BlahType>() != null);
...
BlahType Blah = new BlahType();
...
...
return Blah;
そしてそれは不満です。
いずれの場合も、フィールドはプライベートであり、メソッド内でそれを台無しにするものは何もありません。(データはディスクから取得する必要があるため、これらはすべて遅延初期化です。)
もちろん、ここに Contract.Assume を追加することもできますが、そのような答えは好きではありません。