It's to do with the ecu. It prioritises faults and looks at them on a set time scale. So it will see a faulty sensor and give you a light on the dash, realise it's not really an issue and after a few days cancel the light on the dash, then, say a month later it will look at it again, see the same fault, give you a light, and so on.
IIRC