Even if it is 32bit application 4GB or RAM sould be more than enough for a giant map.
Don't assume things like this. The game stores far more information about each hex than you might think, and all of that adds up quickly.
For instance, every hex blends together with the six surrounding it, graphically. That is, a desert that borders a grassland will have a bit of "bleed" in each direction, with the boundary between the two affecting the graphics of both hexes. Actually, you get a 3-way bleed at each intersection, as well, so it's not even THAT simple. That's twelve transition regions per hex, each with very complex combinations of graphics (averaging 5 transitions per hex on a large map, since six of the twelve are shared with one other hex and another six with two others). So whatever number you were thinking a map needed, memory-wise? Multiply it by six.
The thing is, the game isn't doing this dynamically. When your game session loads, the game generates (or re-generates, as the case may be) the map, including all of these transition regions. When you pan back and forth across the map, you're seeing this generated world; it's stored in your cache, and the game pulls it from there as needed. This is why using Lua to "terraform" terrain doesn't work; even though you can change the terrain type for a hex, and the game will mechanically recognize it as its new type, this won't trigger a recalculation of those twelve transition areas near the hex (plus the center of the hex itself, of course) and so the visible map won't change. You'll only see those change if you save and load the game, which DOES force the game to remake the map, which is why it takes so long to load a game. So if that whole map needs to be stored in memory, it's going to take up quite a bit of room.
Then, each hex has to keep track of a large number of characteristics. Plot type, terrain type, resource type, improvement type, feature type, if there's a city (and which buildings in that city are visible on the map), if there are units, and so on. Those last couple are less about the initial generation and more about on-the-fly access, but it's still an issue; larger maps also mean more units and cities to keep track of, which each have their own data structures to deal with. At some point, the sizes of the arrays needed to store all of this info will consistently exceed what a 32-bit executable can handle, no matter how much RAM you throw at it.
Bottom line, the maximum size they set is fairly close to the maximum size you'll get without crashing. You can go way above that and hope for the best, if you want to, but don't be surprised when everything dies. As much fun as it might seem to play a game with every civ represented, this game just isn't built for it, either mechanically or balance-wise.