Under certain circumstances Particle.publish will block for up to 5 minutes, but it does eventually return. That's presumably longer than your watchdog timer.
This post explains a variety of conditions in which Particle.publish will block and how to avoid them: