Начните сперва с C++ как с более распространенного языка.
Как следить за ней
Чтобы работало, и утечек памяти не было, то есть более не нужные данные не занимали память.
как правильно работать с указателями/ссылками
Очищать всю динамически выделенную память, когда уже не нужна, грубо говоря, на каждый new должен быть delete, если только приложение не завершается сразу же, тогда вся память очищается..
Всегда писал на языках, использующих сборщик мусора. Естественно никогда не парился по поводу работы с памятью.
В них тоже бывают утечки памяти, но это частные случаи, например, при многопоточности.