When you use the RunAsync switch, several cmdlets end up being executed as a Client Side Task (CST).
This is a nice feature, but the drawback is the fact that the Task object returned by a CST is not compatible with the Task object returned by a Server Side Task (SST).
This poses a problem when a script tries to control the level of parallelism in background tasks.
A Configuration option, or a preference variable or a switch on the cmdlets involved, to avoid CST would be a nice solution to avoid the issue.