When you use TAdvGridWorkbook, what happens when you change the active sheet is that the data of the current active sheet grid is swapped with the data of the new active sheet grid. So, there is actually only one grid and its data is swapped in and out but this data of course stays in memory. The data comprises the cell values and cell attributes. So, if you have 500x5000 cells, this means there is in memory 2.500.000 strings & 2.500.000 cell attributes (objects with color, font, alignment, image, checkbox... properties). This approach is chosen for situation where it is not desirable to have as much grid instances as there are sheets as the grid instance by itself already consumes quite a bit of memory not taking the data in account. If you have a situation where you have few sheets, it is perhaps not beneficial to use this concept and its faster to use for example 2 grid instances placed on a page control where swap of sheets will be instant.