ECMA-335, 1.8.2.4, specifies that boxable types include reference types (excluding managed pointers/byrefs) and generic parameters. 

What is the purpose of boxing reference types? Is the functionality and memory representation of a boxed reference object any different compare to the unboxed one?