The blocks are no more than 4MB. The cache just indicates how much data you've got in RAM that is yet to be written to disk. Depending on your bitcoin.conf settings, you may have a few hundred up to a few gigs of cache that is permitted to be used. Once the max is hit, IBD will be paused temporarily as the blocks in RAM are all saved to disk.