Yes, thanks for the feed back. This is currently expected, as the static checker isn't trying to infer object invariants (even as trivial as this one). We are working on this support. For now you need to write an object invariant to MyTest yourself:
[ContractInvariantMethod]
void ReadonlyInvariants() {
Contract.Invariant( this.DefaultString != null);
}
This will make the checker prove that all constructors (and all methods) maintain this invariant and will let you prove the ensures in the Default getter.
Cheers,
-MaF (Manuel Fahndrich)