как я понял - статическая сборка мусора основанна на определении времени жизни обьектов при компиляции. и сейчас часто используется region-based gc.
Region inference is a memory management method for computer programming. It is an alternative to manual memory management and garbage collection.
Region inference involves associating variables or objects with a "region" in a stack-like construct. Older regions are lower on the stack, and younger regions are higher. Regions are analyzed statically to determine when they "die" - and all the variables or objects associated with that region die with the region. Whenever an older region is determined to be "dead", all younger regions die with it.