Water in the fuel could fit the symptoms, especially if you can think of circumstances in which water could have found its way into the fuel for one ride while it wasn't there the ride before.
Petrol is lighter than water, so the petrol will float on the water in your tank and in your float chamber. Eventually the float chamber could be mostly full of water, with obvious results. Or maybe the float chamber isn't full, but there is water in there and the increased drawing of fuel at higher revs could be drawing the water into the carburetter. Both these possible reasons might cause the engine to stop after a certain time or when running at a certain speed. But they would not necessarily explain why the engine will start again soon after it has stopped.
Draining the whole lot and cleaning out the float-chamber (as Matt suggests) is a good first move.
The symptoms also fit another cause - the possibility that there is no adequate ventilation in the tank. Air must be able to get in to replace the fuel that is used up. Is there a breather-hole in the filler-cap, and if so, is it clear? These holes often get blocked by wax residue when polishing. If there is no ventilation, the flow of petrol will eventually stop (or be unable to meet the demands of higher revs.) Once the engine has stopped the pressure has time to equalise a little, enabling a good start followed by a repeat of the problem after a few miles.
I hope you get it sorted. It must be very annoying.
Tom