Hi, my question is why didn't .Net use smart pointers instead of Garbage Collector to do memory management?

In that way, the memory will reclaimed automatically when there is no variable reference...