I have never seen PCA9555 resetting, nor what the lockup looks like. Maybe you can just reinitialize its state instead of triggering a reboot of the controller. Each GPIO pin on PCA9555 can be configured as input or output. Perhaps when this happens, it’s being set to input mode for some reason. You can call pinMode to reset its state to OUTPUT mode. Also, without seeing the schematic of your built, it’s difficult to guess what may be causing this issue.