It simply refers to the allocation of a value type (e.g. int, char, etc.) on the heap rather than the stack, and is quite simple to grasp. Boxing is the implicit conversion of a value type (int, char, etc.) to a reference type (object). A value type is allocated on the heap rather than the stack during the boxing process.