The METADATA table is often small, with many in-memory writes. Because it is small, it does not normally get flushed, which will prune data with the versioning/delete iterators. Over time, the many in-memory versions can cause poor performance.
The file garbage collector (gc) will make lots of updates as it runs. That would be a perfect time to flush the table and prune the versions.