isolate now frees. The only problem is that under certain conditions it can leave entered thread state on error