Maybe I'm replying to this a little late, but:
When you "Enable Records > Memory," all you are doing is allowing the digitizer to overwrite completed records that are stored onboard. If you were to wait until the acquisition is complete to fetch any records - you'd get an error indicating that the first N records were overwritten where N is (Num Records - Max Onboard Records), assuming Num Records > Max Onboard.
However, your program starts fetching immediately. As the acquisition is in progress records that are complete will be transferred to host memory. So even though you only have 8M of memory onboard, that is just a big FIFO for transferring to the host if you start fetching immediately. As long as the host can transfer the records from the device before they are overwritten, you can acquire substantially more than the device itself can hold.