I was able to get Behold to load the 317 MB GEDCOM file! Instead of loading in each line, I loaded each level 0 structure as a line.
Fewer lines meant less accumulation of the internal Delphi overhead for a line (made up of pointers, counts, etc.)
The bottom line is that it loads in about 900 MB of RAM, which is good considering that it doubles to 634 MB just from changing into Unicode.
It also takes 10.4 seconds to load, which is excellent. I still have a bit of processing and indexing to do, so that will increase a bit. But it still gives me lots of room to get to my objective of a million people loaded in 30 seconds.
So now that this is done, I can complete the implementation of this new internal data structure, and the vast speed improvement of Behold should help everyone, even if you don’t have a million people in your tree.