There are many other answers to this question in other threads.
There was a time in the not-so-distant past when 16 MB (a fraction of a GB) was more than most any computer in the world was capable of, mainly because memory was so expensive.
Looking forwared instead of backward, Solid State Drives (SSDs) are becoming affordable. Disk drives such as SSDs are designed to retain data after the system is shutdown or crashes, and that is an advantage compared to keeping everything in memory. SSDs are nearly as fast as main memory; they do not have the seek and rotational delay issues of older technology hard drives with magnetic platters.
I cannot imagine any application that can efficiently manage more than 2GB in a manner that significantly improves performance. Data such as a database could be kept in main memory but it could be designed such that the administrators determine how much main memory is used, without the developer having to do anything. As stated above, changes to the data would still need to be written back to a disk drive for permanent retention.