With memory, the choice is relatively straightforward—use as much as possible. Unfortunately, there is no such thing as infinite memory, but the statement of using as much as possible couldn't be more real, since GlusterFS uses RAM as a read cache for each of the nodes, and at the same time the Linux kernel uses memory for the read-ahead cache to speedup reads on frequently accessed files.
Depending on the brick layout and filesystem chosen, available memory plays a significant role in read performance. As an example of bricks using the advanced ZFS filesystem, where it uses RAM for its Adaptive Replacement Cache (ARC). This adds an extra layer of caching sitting on high-speed RAM. The downside is that it consumes as much as it has available, so selecting a server that provides considerable amount of memory helps a lot.
GlusterFS does not require terabytes of RAM—having 32 GB or more per node assures that caches are big enough to allocate frequently accessed files, and if the cluster grows in size by adding more bricks to each node, adding more RAM should be considered in order to increase the available memory for caching.