Even if you don't use pointers and unsafe code, you definitely should understand the concept and know how to use it.
If you're gonna work in C#, I can forgive not knowing pointer arithmetic, because you most likely won't use it and most likely shouldn't use it.
But pointers exist all around us even in the managed C# world.
string s = "abc"
int a = 3;
One of these two variables, is actually a pointer (Reference. Whatever. Same thing). Which one? Honestly, A person who doesn't know that needs to go get a job using C for a year, after that he'll understand this for sure.
Imagine this bloke having to write a function that takes a ref string. It is:
- Immutable.
- A reference to an immutable object.
- A reference to a reference to an immutable object. (The immutability has nothing to do with the pointers. It will just be even more confusing if it's immutable ^^)
The man is going to go insane trying to figure that out if he didn't lose his pointer virginity in C beforehand. Or even worse, imagine some critical part of your code uses a Dictionary containing some valuable information in a class, and this guy changes one of it's values, which changes the GetHashValue of the object, and causes you to "lose" the instance.
Even if sane C# developers don't use explicit pointers in their code, that doesn't mean pointers are not used implicitly.
Every good programmer needs to understand exactly what does their language abstract away, otherwise he won't ever be able to understand the language properly. To do C# properly, you need to know C, and to do C properly, you need to know assembler.
Also, your question - For all you know, your interviewee assumed myObject is a struct. He most likely didn't, but still.
Edit: Yes, references are not fixed, unlike pointers. But conceptually there's really no difference.