I have the following code. However, I found that after the deletion of bitmap, memory is still not freed...anything I've done wrong?

1. in a bitmap creation function:
iBitmap = new (ELeave) CFbsBitmap();
iBitmap->Create(...);

where iBitmap is an instance of CFbsBitmap.

2. in a callback function:
iFileToBmp->ConvertL(*iBitmap, 0);

where iFileToBmp is an instance of CMdaImageFileToBitmapUtility.

3. in the deleting function:
iBitmap->Reset();
delete iBitmap;
iBitmap = NULL;

I've checked the memory used before & after step 3. and found the available memory has not changed!!
(in fact, the program can exit without error by using the above code, but it seems that the bitmap's data is still in memory after the deleting function 3.)

Please help...really confused about that...thx a lot!