remote: only keep a weak pointer in update_tips The reference is only needed inside the function. We mistakenly increased the reference counter causing the ODB not to get freed and leaking descriptors.