There is a bug in your code:
var o = new F(i, i, i, i, i, i, i, i, i, i, z)
z = o
// ... skipped
o.z = z
This makes o.z = o, so only the last object survives. When you use constructor you actually link all of them together - which means there is more garbage around - GCs are more expensive.
If you fix this bug, e.g. by doing
var o = new F(i, i, i, i, i, i, i, i, i, i, z)
o.z = z
z = o
you actually OOM in prop-benchmark-a.js case because object there is less compact than one created by constructor. Just as the post predicts.