A little tip: do not refresh your watchdog inside an interrupt routine because most of the time interrupts are still running while your main routine has crashed for some obscure reason
Better refresh your watchdog inside a routine which is not called too often or set some flags inside a few routines and only refresh your watchdog (and reset the flags) when all flags are set (this can be done inside your interrupt routine), works much better for me ...