I've noticed a simlar problem with the cluster I look after.
I see a slow unexplainable memory growth 10GB to 50GB above VM allocation over 2 to 4 weeks which disapears by migrating the VM between hosts.
I'm also using NFS for the storage but using RAW format, however most of my Guest machines are Windows.
I've seen comments in the forums about not using NFS because of not being well supported or something like that.
I tried switching to CIFS but that was much worse than NFS, Still had leaks but also had frequent timeouts.
I think switching from qcow2 to raw help to slow down the speed of the memory growth but I have not found this change has eliminated it.
Are you able to try local storage of the VM Disk?
You can use the Move disk option (while the VM is still operating) and select local storage to the server and see if the problem persists?
If your host machine has more than 1 CPU Socket installed, your linux VM may benefit from = numa: 1
The Windows 2000 boxes may benefit from the latest
Virtio Drivers; (numa is not supported in Windows 2000. Only from Windows 7 & 2008 R2)
I found a Node with 4x 2008 R2's didn't have the same memory growth as other nodes with mixed Windows OS types.
I'm experimenting with another node by migrating 5 VMs to it running 2008 R2.
Also trying the latest Virtio drivers for the 10, 2012, 2016, 2019 VM's to see if that helps the other nodes memory growth.