The average Linux VM I run is around 50-100MB of RAM usage. Not actually that much more than an LXC container.
There are some use cases for a VM over a container, sometimes you want better isolation (my public facing webserver runs in one), or a different OS for some reason (I run an OSX VM because its the only way to test a site in Safari).
Containers also have some advantages for device passthrough, I have my Intel iGPU added into one for Immich and Frigate, can't do that with a VM unless you detach the whole GPU from the system.
Backing up entire VMs with all the configuration in case an update breaks something or just bricks your server is a smart idea aswell as running stuff in containers.
Also, 4GB per VM?
Besides sometimes you need to run software that is not avaliable on linux.
Not all server executables for video games are avaliable on linux for example.
There is a lot of use cases and just saying "you just need X" is somewhat of an ignorant statement.
No, I don't.
What are you putting in the VM, another Linux kernel? Why? Yeah then you need to take into account between 4GB and ~ 8GB of extra ram per VM.
I don't have RAID though I do backup to my NAS at my parents'.
But honestly a NVMe drive is basically like a CPU: it's either dead on arrival or it will just run forever.