When sensor is fully calibrated, you can read out the calibration parameters then stored in system memory.
Then put sensor into suspend mode or power off.
Before reenter the normal power mode, write back the calibration parameters. Then sensor will start with calibration level 3.
But the calibration is always running in background, if detect any offset value change or compensated value changed over threshold, the calibration level will drop from 3 to 2 or even 0. Then sensor will recalibrated itself until 3.
Remember, even just change the position, the magnetic environment might be different. this means sensor will drop the calibration level and recalibrated again.
It is expected behavior.
Sensor will keep calibration level only when it calibrated in location A, position A, put into suspend mode, then back to normal at location A, position A. and there is no additional distortion nearby.