WinterNode offers multiple packages that can scale with the RAM required by your server, but recommending a package for your Minecraft Server is far from an exact science and relies and multiple "fuzzy" variables. Many other hosts will recommend RAM packages based on player count, and while player count is one of the largest contributors to the amount of RAM your server will use, it is far from the only one.
The thing to remember is that the RAM required by your server will fluctuate. It all depends on what your server needs to load at any given moment. That includes the chunks loaded by players, but also the plugins/mods you're using, the data associated with ongoing tasks like hoppers, furnaces, and mobs, as well as the base game information that varies in size and complexly with each version. Suffice to say, your servers RAM requirements will vary based on the amount of players you have online, your play style, the age of your world, the mods/plugins you have, the server software you run, and the Minecraft Version you're playing on.
Where your RAM goes
Let's start with the Minecraft Version. The general rule is that the RAM requirement for each new version, especially after 1.12, has increased. The memory management has gotten better in versions post 1.18 though.
Playing on older versions is a good way to decrease the amount of RAM required to run your server, especially versions prior to 1.12.
The server software you run can have a huge effect on the RAM requirements. For vanilla or semi-vanilla play, Paper or one of it's forks is recommended. For modded play, Fabric with the dozen or so optimization mods Like Lithium and Starlight are the way to go. If the pack/mod you're using is Forge exclusive, then you may have a harder time managing your RAM usage using your server software.
It's highly recommended to not run the vanilla software. There is very little, if anything, that changes that will affect you as a player when you use a community developed server software. If you find technical features that don't work on Paper, then a fork like PurPur may be a better option for you.
While there are some mods/plugins that will increase the performance of your server, most mods add some amount of load and every mod/plugin needs to be loaded into RAM at startup. Not only are they loaded at startup, but whatever tasks they do and whatever data they work with, is also stored in RAM until it's saved to the disk. This means that as a general rule, more mods/plugins means more RAM usage, and the more complex a mod/plugin is, the more RAM it will use.
As your players play in your world, they will add things like chests, hoppers, persistent mobs, farms, signs, and items. All of these not only increase the file size of chunks when they are loaded into RAM, but increase the amount and size of the data that has to be loaded when performing the tasks on those chunks. This means that as a general rule, RAM usage will increase as a world is played on by merit of the chunks being more complex and the world containing more active data.
The way you play affects how your server performs. Just like how an old world will use more RAM, a world played with a technical play style full of farms, hoppers, pistons, flying machines, water streams, and world eaters, will take more RAM.
Player count is a big contributor to the RAM usage of your server, but only in that it's added to the base usage and scales in a roughly linear fashion for each player added. The exact amount that is needed for each player varies based on what mods/plugins you have, the Minecraft Version you're playing on, and the server software you're running. Individual players can also need more RAM if they're loading chunks that have more data in them, or are generating new chunks.
For smaller servers that have under 10 players on at once, players may not even make up most of the RAM needed by the server. The effect of the linear nature of the resources required by players is felt most at larger player counts when the RAM required by players outweigh the base requirement of the server.
Why your RAM is always at max
Java, and by extension Minecraft, will use all of the RAM you give it. Only releasing some of it when space is needed for new data. The saying goes "Empty RAM is wasted RAM", with the idea that by keeping something in RAM it may get accessed again and you won't have to spend CPU cycles loading it back into RAM.
This is why with later Minecraft versions it's important to leave some RAM to the JVM (Java Virtual Machine), because otherwise the Minecraft Server will use all of it and the JVM won't be able to clear unused RAM as effectively.