I also had this exception, and I understood it because of Worksheet.Selection.
I have not figured out how this relates to Data Validation, but I will look at it and let you know.
To solve your problem, you should do something like this:
xlWorkSheet.Range["$A$1"].Select();
Range range = xlWorkSheet.get_Range("G2,G50");
Validation v = range.Validation;
v.Add(XlDVType.xlValidateList, XlDVAlertStyle.xlValidAlertStop, XlFormatConditionOperator.xlBetween, "=$AM2:$AM50", System.Reflection.Missing.Value);