Maybe(?) FlushMem itself uses some memory, because adding it before the first MemAlloced gives the same numbers before and after loading/freeing the image:
Strict Global img:timage = Null FlushMem Print MemAlloced() img:timage = LoadImage:timage(CurrentDir()+"/graphics/basic1.png") Print MemAlloced() img = Null FlushMem Print MemAlloced()