Juste l'espace mémoire, c'est facile : il te suffit selon l'OS que tu utilises d'ouvrir l'outil de monitoring de processus (task manager sur windows, ps sur *nix, etc).
Malheureusement, cela ne donne qu'une information générale, et n'apporte aucune précision sur ce qui se passe dans le code. C'est utile pour vérifier que le code n'a pas un gros memleak (conso. mémoire qui augmente régulièrement sans justification), mais c'est à peu près tout.
Pour des analyses plus fines, tu as des outils d'audit d'exécution (insure++, purify, etc), mais ils sont souvent coûteux. Je ne sais pas s'il en existe de gratuits et de bonne qualité (je ne dis pas qu'il n'en existe pas, mais je ne connais pas trop les offres disponibles... p'têt valgrind ? ).
Ces outils permettent de détecter non seulement les fuites mémoires de manière fine, mais également l'endroit du code où elles se produisent. Très utile.
Dernière précision : la consommation mémoire d'un programme, quel qu'il soit, ne diminue jamais. Elle ne peut que augmenter dans le temps (une "libération" mémoire permettant juste de pouvoir réutiliser de la mémoire au sein du processus en cours, cela ne diminue pas la consommation mémoire)