The cells are created (de-virtualized) when you try to access them directly (with cellRow.Cells) or when they become visible to the screen.
The grouping and the sorting use only the raw data to recalculate which rows are going to be visible (which will be created).
The garbage collector collects all the cells that are not used anymore.
Imported from legacy forums. Posted by CharlesB (had 4008 views)