Bruno Prémont writes:
Could it be that cache is being prevented from being reclaimed by a task in another cgroup? e.g. cgroup/system/backup first reads $files (reads each once) cgroup/workload/bla second&more reads $files Would $files remain associated to cgroup/system/backup and not reclaimed there instead of being reassigned to cgroup/workload/bla?
Yes, that's entirely possible. The first cgroup to fault in the pages is charged for the memory. Other cgroups may use them, but they are not accounted for as part of that other cgroup. They may also still be "active" as a result of use by another cgroup.