The propgen (property code generator) currently puts down several lazy val slots for every DFDL property, and every annotated schema component carries all these slots. This makes every object huge, even when only a small number of properties are used or accessed.
Change propgen to maintain a hash map of properties per object, instead of all these many many slots. This will make the footprint in memory of a DSOM tree for a large schema much smaller.