Sounds like a classic case of the fuel tank vent being pinched. Open the cap with a spare key when it happens and see if that clears it up.
And put your head down there and listen for a sucking noise at opening of rubber seal.
In a pinch, you can close the cap on a zip tie (to add more venting). But that's a temp fix.