Strange memory behaviour

Simple code:

import sensor, image, lcd, time, gc

gc.enable()
sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
sensor.set_framesize(sensor.QQVGA2) # Special 128x160 framesize for LCD Shield.
sensor.skip_frames(time = 2000)
lcd.init() # Initialize the lcd screen.

clock = time.clock()
while(True):
    clock.tick()
    img = sensor.snapshot()
    lcd.display(img)
    print("FPS=%2.2f, Free=%d" %(clock.fps(), gc.mem_free()))

Free memory changes sawtooth like.
Is it normal?

Yes, it gets collected when there’s no free memory.