See my earlier post on these values, as well as the VMFree and VMLargestFreeBlock values, here: http://22.214.171.124/forums/p/25829/99174.aspx#99174.
More or less:
Reservation is performed by QVS to have a memory area to work within.
Allocation is performed when QVS needs to actually extend it's usage within the reserved memory area.
Commit is when data is placed within the allocated area of memory.
The reservation, in a QVS case, is basically "invisible", since it does not directly consume any resources. The final call when reserving memory is up to Windows, and the returned reservation might be smaller than requested by QVS. The reserved memory area can be seen in the QVS event logs (high/debug/verbose logging required) at proccess startup, and are defined by the Working Set limits, inheriting in the QVS settings.
The allocation and commit values, if placed on a curve, will follow each other closely if the memory usage is healthy, with allocation just above commit. Differences or "split curves" in this case can indicate memory leaks, but will show significantly.
The VMFree and VMLargestFreeBlock values are only useful on 32 bit systems, since on a 64 bit system returns the size that Windows reports - and that number is, for some reason I don't know, the total possible memory size of the system. And that is not the same thing as actual free memory. I would disregard these numbers on x64, which is your case.