File folding describes the process of checking the data in the most recent Snapshot copy, and, if it is identical to the Snapshot copy currently being created, just referencing the previous Snapshot copy instead of taking up disk space writing the same data in the new Snapshot copy.
Disk space is saved by sharing unchanged file blocks between the active version of the file and the version of the file in the latest Snapshot copy, if any.
The system must compare block contents when folding a file, so there is a tradeoff between performance and space utilization.
If the folding process reaches a maximum limit on memory usage, it is suspended. When memory usage falls below the limit, the processes that were halted are restarted.