My understanding is that QOS_MEMORY_USAGE reflects the total amount of "memory" used. In this context, since pretty much every system today has a virtual memory model, this is the combination of physical memory, swap file, page file, mapped executable, etc that contributes to the total amount of "stuff" you can have active. More simply it can be thought of as the combination of bytes of physical memory used and bytes of page file used combined.
QOS_MEMORY_PHYSICAL should be a number that represents the used size of just the physical RAM.
So for instance, if you had a server that had a pagefile/swapfile size of 0 then these two values should be the same.
MEMORY_USAGE should also always be the same as MEMORY_PHYSICAL or larger.
Or maybe a different way of looking at it is that MEMORY_PHYSICAL + MEMORY_SWAP = MEMORY_USAGE
That is of course assuming I'm correct....