Couchbase Mobile uses a Multi Version Concurrency Control (MVCC) technique to handle conflicts, but retaining all document revisions indefinitely can lead to large database sizes. To manage this, Couchbase Mobile employs techniques such as compaction, pruning, and document expiration. Compaction purges non-leaf revisions, while pruning deletes metadata and/or JSON bodies associated with old non-leaf revisions. Document expiration removes all traces of a document, including its revisions, after a specified time. The choice of configuration values for these techniques, such as revs_limit and maxRevTreeDepth, impacts database size and can lead to undesirable consequences if set too low, such as orphaned leaf nodes or disconnected branches. Applications must carefully manage conflict resolution to prevent bloating of the revision trees and ensure efficient data storage.