I use a timer for non simultaneous background calls.
I add a timer to the form, set the interval to 0.1 and put the server call in the tick event with _s so it doesn’t show the spinner.
The timer allows to run code on the client in background, but it is going to be blocking. So I split a long call into many small ones.