dont deadlock
try without autorelease, and extra retain/release around calling the block