Looks Good To Me. (philosophical note: being able to monitor and relocate objects is one of the strategic advantages of a managed runtime over e.g. C++. With sufficient investment in implementation, the VM could in principle figure out which objects are good to use _as_ padding, and which objects need the padding.)