Add a forgotten virtual destructor to class op

This plugs a huge class of leaks.
Clean up lifetime management of optional |Id Blocks|

This plugs some leaks.