`py_src` is initialized as `PyArray_ContiguousFromAny((PyObject*)obj, typenum, self->nd, self->nd)`, which either creates a new object from `obj` (if it is not a contiguous array already), or just increases the refcount of `obj`. There is no need to increase the refcount again. If somebody changes the array contents while we're copying it, it's their fault (and we cannot be prevent that by a refcount bump).