you are missing floating debris & in particular grass clippings that have accumulated in your fuel tank and get sucked into the outlet eventually forming a plug restricting fuel flow.
When you turn the engine off, they float away
You can double check either by setting up an alternative tank with more than 45 minutes of fuel in it . or an alternative fuel tank to plug in the instant your engine starts to faulter or if the engine stops, spray some carb cleaner down the carb.
If it fires right up then stops when the carb cleaner runs out , you have confirmed lack of fuel.
If your mower has a solenoid on the carb, this may be failing , quite rare but I have seen one that overheated and shut off after an hour or so .