OnEnable and OnDisable should indeed be called an equal amount of times, yes. There are also some assertions to check this. In the context of an FSM, Condition Tasks on transitions should be Enabled when their FSM State node is entered, and should be Disabled when that FSM State node is exited.
I tried to replicate a case where OnEnable is called more times than OnDisable, but I wasn’t really able to do so.
Can you please tell or show a minimal reproduction graph that this happens?