Riak CS currently relies on objects being written to remove old manifest versions. In the normal case the storage impact of this may be negligible because a record it written to the GC bucket for each old manifest version and the data for the objects represented by the old manifest versions should be reaped after the leeway period.
In the non-normal case, if the write to the GC bucket fails for some reason the data represented by the old manifest versions is not reaped and no repeat attempt is made until the key for the object is written again. This can lead to storage usage issues that are difficult to diagnose and account for.
An active process to search actively seek out and clean up old manifest versions would be a useful supplement to the current cleanup-on-write strategy.