It might be worth you connecting to Bangle.js with the Espruino Web IDE, long-pressing BTN3 to reload the clock, and seeing whether you get any issues reported. Especially if you're getting freezing it could be some widget that you installed that is causing issues?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
It might be worth you connecting to Bangle.js with the Espruino Web IDE, long-pressing BTN3 to reload the clock, and seeing whether you get any issues reported. Especially if you're getting freezing it could be some widget that you installed that is causing issues?