Fix missing VM placement new

* These allocations were done in the C++ heap instead of the MM block.
* Add a comment on the way about Procedure.apply