My Arduino is ARM based so the "Wire while loop fix" does not apply here.
So you have a Due or Zero. May we get the information which one you're using? The bug you mention is fixed for a while (given I refer to the same problem).
Tell us how you wired the chip. Post your code.
What could be causing the IC to freeze entirely?
Freezing the chip is probably not the right term. One possibility I see is that you clear inadvertently the HAEN flag in the configuration register which might change the I2C address until the chip is reset.
Is there something I can try to debug this problem?
If you reset the Arduino and the chip is not responsive run an I2C address scanner. If the chip responds my above guess might be correct.