The wallet may process calls without waiting on the result and effects of previous calls. This causes failures in user scripts, because later RPCs may depend on the state changes from previous RPCs.
For example, the following might fail on current master:
0txid = sendtoaddress(...)
1bumpfee(txid)
2abandontransaction(txid) # fails because tx is still in the mempool
Fixes #18831