Boxing é converter um tipo de valor (como int) em um tipo de referência (object) — encapsulando-o em um objeto no heap. Unboxing é o inverso (extraindo o valor de volta). Ambos têm um custo de desempenho (alocação de heap, cópia), e entendê-los ajuda você a evitar sobrecarga desnecessária.
