I believe the point has already been made that GCII is a 32-bit program. As such, even if the 64-bit OS will
allow it to use up to 128GB (in fact IIRC this becomes an operating system limitation rather than an x-bit limitation, but I don't really remember too well), the program itself simply isn't
capable of it.
If I'm wrong on that, I welcome anyone who can explain why I'm wrong to correct me, and perhaps we'll have a solution for you. But that is my understanding of it.
That said, is
32 petabytes "enough"?
It may be possible (this is just an idea off of the top of my head) to run GCII in separate child programs so that each one will never hit the 2GB limit. But I'm not sure how much work coding this would be, nor what the effect of splitting it up would be, as I'm fairly certain there are always going to be things that are going to need to be in both of them, giving us a total limit that is most certainly less than the two combined.
As for a 64-bit OS, personally I think Microsoft should have released Vista as purely 64-bit, to finally force people to migrate to it (though I think Vista is a POS myself), but that's another subject entirely. In any case, it's as simple (or rather, as difficult) as having a 64-bit program version. Which, in all probability, the child process solution is simpler as it, in theory, only needs to be done once.
But what do you do when people start OOMing when the game is using 4GB? How about 8GB? Personally, I'd prefer coding work go into finding a solution to the memory leak itself, although I understand it's not a simple job or it would have been fixed long ago.