Perhaps let me re-phrase. You have a button interrupt configured to a GPIO. If you press and hold that button for long enough, you observed that occasionally the soc resets itself. Is this correct?
How fast are you pressing the button? Is there a while or a for loop in the interrupt handler?
My surmise is that the reset is because of a watchdog timeout. Can you try removing loops from your interrupt handler?