GKE autoscaler scale-up on-demand nodepool except nodepool on spot nodes

I ran a GKE applications on spot nodes with on-demand nodes as fallback, according article -
https://cloud.google.com/blog/topics/developers-practitioners/running-gke-application-spot-nodes-demand-nodes-fallback

BUT sometimes GKE autoscaler scale-up both nodepools(on-demand and spot) except only nodepool on spot nodes. In this situation I need always manually decreased the numbers of nodes to zero in on-demand nodepool and my applications always moves to new spot nodes, it means there is enough spot nodes. So why GKE autoscaler may choose on-demand nodepool? Maybe there is some limit how much nodes can scale-up GKE autoscaler in one nodepool in one time?

Are you saying that for a given scale-up event, both the spot and on-demand pools are scaled?
Generally, the cluster autoscaler will prefer the lower cost option (which should be Spot). It could be the case that at the time there may not be enough Spot capacity available.