Generation 2 (Gen2) holds heap objects that survived both Gen0 and Gen1 collections. An object remains alive while it is referenced; objects that survive Gen1 move to Gen2 and are generally considered long-lived. section 10.3.4
Gen2 collections are infrequent. Keeping references after they are needed can leave objects in Gen2. Because the garbage collector may expand the heap rather than compact it, many lingering Gen2 objects can increase memory use. When an application spends too much time collecting garbage or uses unexpectedly high memory, inspect collection counts and memory profiles. section 10.3.4
Table 10.2 GCStats table from PerfView from the Newtonsoft benchmark method profile (view table figure)
The GCStats table shows collection counts, pause time and allocation by generation. Its 194 Gen2 collections were artificially induced by BenchmarkDotNet, so do not treat that count as a normal application rate. section 10.3.4
