I'd be looking at the air vent in the fuel tank,sounds like there is a partial restriction.Strip the petrol cap and use carb cleaner on it,and then blow it out.
A good test is to run the motor with the cap completely undone.If it runs ok,it's proof of a partial blockage.
It won't be a complete blockage if the motor runs and then cuts out.The lack of air causes a vacuum in the tank and restricts the flow.
The reason it picks back up in neutral is because there is not as much demand for fuel from the engine,and which also includes the amount of air to vent the tank.
Sometimes a partial blockage is not obvious,so a careful inspection of the vent in the cap is needed.