November 2019
Intermediate to advanced
404 pages
12h 9m
English
The GC runs on two separate threads: the main thread and what is called the finalizer thread. When the GC is invoked, it will run on the main thread and flag heap memory blocks for future deallocation. This does not happen immediately. The finalizer thread, controlled by Mono, can have a delay of several seconds before the memory is finally freed and available for reallocation:

We can observe this behavior in the Total Allocated block (the green line, with apologies to that 5% of the population with deuteranopia/deuteranomaly) of the Memory Area within the Profiler window. It can take several seconds for the total ...
Read now
Unlock full access