The original problem has been discussed multiple times on the forums. The display of the used RAM in PVE is correct and your guest OS is lying. The simplest explanation to show this and without going into memory architecture, caching etc. is that memory that is once used inside of the VM is always used outside of the VM in your virtual machine even if the memory is marked as free in your guest OS and showed as free. From a hardware perspective, the memory is used therefore PVE shows it as used. The same is true for used and freed disk space.