I agree. That is definitely a case where removing an object should be handled better. But besides acs_objects which nearly all packages will have, each package has it's own internal data that also must be removed correctly. It is this data that must be removed by the package itself.