Fix retain cycle warnings on two recursive blocks

Recursive blocks retain themselves. This ends up being a retain cycle.
In one case, the retain cycle warning was valid. In another, the retain
cycle is explicitly broken, except clang doesn't know it.

In both cases, switch to capturing an __unsafe_unretained variable
instead.