Well I am quite rusty and more of a trial and error debugger myself .

But the first thing I would check is that the object is not being referenced in any way after or potentially during your free and nil call.

Also you tried commenting out 1 statement or the other and seeing what sort of effect it has (I don't think you really need to nil these days do you?).

But if you can free and comment out nil and no error, well, do you really need to nil in that case lol.