As far as I can tell, I don't have any retain cycles.
I'm not completely sure, but I think I might have found a solution. There's a line I found commented out:
in the section below, just below the comment about releasing the timer in case it never becomes rescheduled.
I uncommented this line, and now I have no more leaks showing up in Instruments.
I notice this line is commented out in version 3.5.0 also, just in case anyone else is having the same problems. I'm on 3.4.9 for this project.
Thanks for the quick reply!