I didn't like this much. It's nice to see a question on parameter passing in the CLR languages, but it's not nice when the question is not worded in such a way as to leave no clue that that is what it is about.
It's about guessing which object in which language the author is talking about not about anything real. Data Set (with the space) could mean table parameter in T-SQL (in which case the correct answer is "value", there's no way of passing this by reference) or it could mean "object of the CLR DataSet (no space) class" in which case the correct answer is "reference" (because there's no way of passing this by value).
I didn't much like the explanation either. The sloppy wording continues: presumably "they" in the first sentence refers to "parameters", which have nowhere been mentioned (neither in the question nor in the explanation). Also I find it quite surprising to see a reference to a URL containing "(v=vs71)" in the year 2012 - mainstream support ended four and a half years ago. Either "(v=vs100)" or "(v=vs110)" would have been more suitable. Even "(v=vs90)" (not to mention 80 or 85) would have seemed somewhat dated today!