Ok, so this fixes the problem with killing spawning of threads will CallAsync, instead returning a TaskCompletionSource. You're welcome.