Totally depends who forgets to cleanup something?
When you use
Code:
CString *foo = new CString();
but forget to
Code:
if (foo) delete foo;
or use
Code:
int *integers = new int[20];
but forget to
Code:
delete [] integers;
Then it's your fault, else it could be from a library that you use (.NET fun anyone?).