$(vGetDate) will 'evaluate' 3/2/2016. That means it treats the string 3/2/2016 as an expression. It will calculate 3 divided by 2 divided by 2016. That is about 0.0007. If represented as a date that value is the date with numeric value 0 (30/12/1899) + 0.0007... So some 10 minutes after midnight 31/12/1899.
What you need to do is create a date from it first: Date($(=num(Date#(vGetDate,'M/D/YYYY')))). Depending on where you use it just Date#(vGetDate,'M/D/YYYY') might work too.