I do not know the cause, but I have observed a phenomenon where the system reboots immediately after entering DeepSleep.
Removing the delay() line for LightSleep seems to avoid this phenomenon. Adding an external 3k3 pull-up resistor may also help.
I checked the Duracell CR2032 datasheet. nRF52840 requires about 7mA (1 sec) of current at startup and about 20mA when transmitting BLE. And the minimum VDDH of the nRF52840 is 2.5V.
Drawing a large current from a CR2032 will result in a voltage drop from 3V due to the internal resistance of a battery.
Considering also the 0.1V voltage drop of the 3.3V on-board regulator, the nRF52840 may not start normally if the battery voltage drops below 2.7V.
Care should be taken when using batteries other than LiPo.
NOTE:If a non-rechargeable battery is left connected to the battery pad and powered from USB, 4.2V will be applied to the battery and it will be charged, which is very dangerous.