Vehicle not disarming and oscillating on ground

The vehicle is a medium sized quadcopter (15 inch propellers) equipped with RTK GPS and a laser rangefinder.

I am very happy with its tuning and flight behavior. But the issue comes in the landing. When the vehicle touches the ground it starts to vibrate and does not disarm.
The vertical ground contact velocity is very low, since a laser rangefinder is available, MPC_LAND_CRWL is set to a value of 0,3m/s.
The problem is that as soon as contact is made with the ground, the vehicle begins to vibrate and stabilizes in a large oscillation at a rate of about 20Hz.
It stays oscillating at this frequency on the ground over the landing gear, with the thrust command at the minimum of MPC_THR_MIN. It cannot be disarmed, only way to stop it is as an emergency disarm command from the GS.

I think it is not disarming because due to the oscillation the condition imposed with the LNDMC_ROT_MAX parameter is not fulfilled.

Do you think it would be a good idea to increase the value of LNDMC_ROT_MAX and decrease the value of LNDMC_TRIG_TIME, in order to facilitate the landing detection? Or would it be a bit unsafe?

However, this would not solve the ground oscillation issue. Is there any way to prevent this ground oscillation from starting? It seems to me a similar behavior to when you have the AIRMODE activated and try to land. But in this case I have it disabled, MC_AIRMODE = 0.

Attached flight logs:
https://review.px4.io/plot_app?log=0660a036-adca-4e42-a93f-c76cc80bd223
https://review.px4.io/plot_app?log=2807805a-3c00-463d-b4cd-406444d0f87a

Thank you for your feedback.

I am not sure why it can be caused, but the rangefinders all have a minimum distance where they can work, maybe at landing the distance between ground and rangefinder exceeds that limit so it reads some random values. There should be a parameter to set that range where rangefinder reading will be ignored after that altitude if I am not mistaken.

Also your cpu usage is really high.

Could be. But in this case it seems to have a very accurate distance readings when on ground. Is reading 0.38m without very much noise. The problem is that it goes into a resonance and starts to vibrate. And I don’t know why it starts to do this and why it keeps doing it and not gradually attenuates.

As for the CPU load. I don’t know why it can be so high. I am saving flight logs at high rate, but nothing else.