If a loose object is not found in a pack it will not be deleted.
And, if a loose object is not reachable then the repack method will not put it into the (new) pack.
This means that the "prune" method can never prune non-reachable loose objects. Right?

So, we either have a bug in this method or it should be named something like "deletePackedLooseObjects"