Right now, the documentmk's version garbage collection runs in several phases.
It first collects the paths of candidate nodes, and only once this has been successfully finished, starts actually deleting nodes.
This can be a problem when the regularly scheduled garbage collection is interrupted during the path collection phase, maybe due to other maintenance tasks. On the next run, the number of paths to be collected will be even bigger, thus making it even more likely to fail.
We should think about a change in the logic that would allow the GC to run in chunks; maybe by partitioning the path space by top level directory.