We've all seen the memes about Google Chrome devouring all the available RAM on your notebook. Is that only due to how the browser works or is it also our fault as web apps developers? In fact, modern JS apps are becoming increasingly complicated, so their compute and memory requirements are rising as well, with some famous websites even taking up entire gigabytes of memory. This does not only fill up the memory of your users devices, but can also cause crashes and performance drops. How do we monitor if that's the case, and how can we fix it? This talk will shed some light on the dark art of memory allocations and profiling, showing how some data structures and some JS frameworks are less efficient than others. Also, what are some FOSS tools that are available to measure it, such as the Chrome Memory Profiler and MemLab, showcasing some custom tooling I've built around those two.