The source of the issue mostly comes from the fact that when a Unity object is destroyed, it is still kept referenced (which is normal). A more proper workaround fix for this would be to please open up ObjectUtils.cs and change method AnyEquals to this:
1
2
3
4
5
6
7
8
9
10
11
12
publicstaticboolAnyEquals(objecta,objectb){
//regardless calling ReferenceEquals, unity is still doing magic and this is the only true solution (I've found)
This should handle the null checks with unity objects better and of course for all cases AnyEquals method is used (thus no need for the first fix I sent you any longer)