I learned that the garbage collection is performed to some data which are not assumed to be used anymore (not referenced).
However, how often does the machine determine whether the data is to be cleaned?
Is there a fixed period? Or the GC runs when cpu is idle? Or any other way?