OM: robuster debugging of object destruction

Some objects contain undeclared dependencies to other objects, which does
not in itself make any of them leak, but it does mean that the calculated
order of destruction does not always succeed this way.

This patch delays the debugging step until all the OM has tried to
destroy all objects. so that those undeclared dependcies do not cause
false positives.