I see objects passed directly a lot though (in this project and elsewhere).

While a nil value is less likely to cause a crash, it can still lead to logical bugs if it's not anticipated. So in my opinion the problem of deleting an object elsewhere needs careful handling regardless.

A discussion for another time! Really curious to hear more of your thoughts on this. I'll chat you up.