Virtualize destructors to make sure they get called

May actually prevent a leak or two.