Don't assume you're doing anything wrong. Just because this technique works for some people doesn't mean it works for you. Depending on the task, I work best with two or three hour chunks of time where I have a lot of time to ramp up, get immersed, then stay there for awhile (although this still requires removing the external distractions). Depending on what you're working on, 50 minutes isn't enough time to ramp up if you're working on a complicated problem and you have to fit the model back into your head.
This is going to be different for everyone, so these examples should only be taken as different ways to approach your work until you find what works. No single approach will work for everyone. I would go nuts if I had to stop every 50 minutes, personally.
If I'm doing cardio and "in the zone" and feel amazing when my time is up, I don't stop. I take the same approach with programming.