.NET quản lý bộ nhớ tự động qua một garbage collector (GC) — nó cấp phát object trên managed heap và thu hồi những object không còn truy cập tới được, nên bạn không cần giải phóng bộ nhớ thủ công. Hiểu GC (theo thế hệ, sự phân chia stack/heap, và IDisposable) có ý nghĩa cho hiệu năng và tính đúng đắn.
Stack vs heap
Stack → value type (biến cục bộ), khung method; nhanh, tự giải phóng khi hết phạm vi.
Heap → object reference type (instance class); được GC quản lý.
Một biến tham chiếu nằm trên stack nhưng trỏ đến object của nó trên heap.
