Expanding on this specifically, unused RAM is wasted RAM. It's normal for Linux/UNIX systems to report over 90% memory consumption by some metrics, because they use RAM to cache data so they don't have to hit the disk as often. What matters is the distribution of the consumed RAM (used, free, shared, buff/cache, available), and whether swap is being used. Here's an example from my personal development box:
[Expert@LabSC]# uname -a
Linux LabSC 3.10.0-957.21.3cpx86_64 #1 SMP Sun Apr 18 18:41:00 IDT 2021 x86_64 x86_64 x86_64 GNU/Linux
[Expert@LabSC]# fw ver
This is Check Point's software version R80.40 - Build 121
[Expert@LabSC]# free -h
total used free shared buff/cache available
Mem: 7.5G 3.5G 405M 46M 3.6G 3.3G
Swap: 7.7G 73M 7.6G
Only 405 MB out of 8 GB is free, so that's about 95% used, right? Well, it's a bit more complicated. Shared memory and buffer/cache memory count against free memory, but they are very low-priority uses. Anything can evict those pages from RAM if the space is needed. Available is a much better measure, and as you can see, I have about 43% of my RAM available. Some shared and most buffer/cache RAM does not count against available memory.