Zigbee network is a mess...... I think it might be because of "null" devices

I am having one of those "car stops making the sound as soon at you get to the mechanic" moments. For the last 3 weeks straight, my network has been unreliable at best. As I found earlier, all of my routers were changing 16 bit addresses every few minutes. I am going to assume that is was because they were continually trying to rejoin the network for some reason. My routing and neighbor table was changing significantly with every page refresh (just a few seconds between refreshes) with new "null" devices showing up every time.

I have powered off the hub for 20 minutes 4 times over the last few weeks with no change. I even waited until the wife was out running errands and shut the power off to the whole house for 20 minutes out of pure desperation. Kept thinking I was missing a router somewhere that was causing the issue. Still no luck. Waited several days between each of the attempts.

At about 4 pm today, I decided to shut down the zigbee radio for 20 minutes and see if I could get it to rebuild. This time, it seemed to work. I don't know why shutting down the radio would be any different than power down the hub. Assuming that part is just coincidence. My routing and neighbor table is no longer changing faster than I can refresh the page, all of my devices are responding quickly and as expected, no more "null" devices in the neighbor table. Its has been stable for over 3 hours now.

Zigbee is supposed to heal itself, right? It just takes a little longer than pushing it along by removing the coordinator for 20 min. What am I missing? Why did it work this time and not before? Why didn't the network heal itself like it was supposed to? Feeling a little foolish right now. I am sure there is something obvious that I am missing but have no idea what it could have been.