TableLoadingMode set to RAM appears to cause LSM tree to be loaded into memory twice over time

I’m running on Badger v2.2007.2. When I open the DB I open with the custom option opts.TableLoadingMode = 1 which loads to RAM. The DB dir is 14Gb in size so as expected when I monitor usage RAM usage will increase proportionally. I’ve noticed that over time as I perform a number of GET requests RAM will continue to fill up. I created a script to test this out and effectively bombarded the DB with requests for random keys and eventually, RAM will fill up to exactly 2x the size of the DB. I might be misunderstanding how TabeLoadingMode works but I thought that the LSM tree would only have to be loaded into memory once to benefit from RAM read times but it seems like I need a machine with RAM equals to 2x the size of the DB to run without fear of OOM. Might also be worth mentioning that my use case only requires reads and no writes once the initial DB is built.

Any advice or insight would be of huge help.
Thanks!