Just found origin of errors
First, when the signal from Python side is connected to ordinar function on QML side it is called even after the backend instance destruction. It doesn't happened if connection is made to a signal on QML side.
Second, one of several DSM.StateMachines was still operating even after Python side deconstructed — the connection of a custom signal (built-in destroyed signal also seems to be ignored) to the stop slot of a state machine is sufficient enough to prevent such behavior.
remind that all this applies to version 5.15.2