To the extent my description was accurate, that seems to help. Looks like too much of what's going on is actually blocking the main thread (copying files, etc.), so what I really need is multiple threads. Oh well... I have some time to figure out a way around this.