Another recent C# interview question I had was if I knew what Boxing and Unboxing is.
I explained that value types are on Stack and reference types on Heap.
When a value is cast
Here's another interesting variation that supports Stefan's comments:
int i = 2;
object a = i; // Boxing
object b = a; // Referencing same address on heap as 'a', b == a
b = i; // New boxing on heap with reference new address, b != a