>>n_kiteさん
例えばinitWithArray:[threadsList localThreads]してるときに[threadsList localThreads]でかえされるインスタンスが他のスレッドでreleaseされるとリリース済みのインスタンスがコピーされます。で、それにアクセスしようとすると落ちます。
またtableView:...の最中にupdate:が行われ、localThreadsとnewThreadsがreleaseされてtableView:...で古いインスタンスにアクセスするのもヤバいです。

再現性が低いのがマルチスレッドによるバグの恐いところです。ソースでは1行でもマシンコードでは複数のコードです。どんなコードでも割り込まれることを考えなければ、、、。
さらにロックとったらとったで今度はデッドロック発生するし、、、。