Better Thread suspension logic when deciding if can call invokeMethod