I remember on the come up I used to be like this too.. not in pubs but in 6s I would get quite emotional (very young, age 14-18) and was really trying to improve at the game. There were days when I thought that I could never get super good. I had this bitch voice in my head saying "you'll never be as good as b4nny or plat or dummy" but I knew that if I kept grinding, kept the emotions at bay, and attack everything and every situation analytically i'd keep improving. I had to ignore the bitch voice and the emotional tilt of not getting the immediate results I wanted.
One of my best friends and mentors, you know him by blaze, a couple years ago he once told me that it's because you think youre not improving that you actually WILL improve. but the thing is, it takes time to improve. it's because you care so much and youre dedicated to improving that any bad result will frustrate you.
But the important thing to remember is to keep everything in your life balanced. if you are getting too burnt out (which will make you more frustrated and drains the mental) take a break and do other things. definitely do physical workouts or exercise it helps so much with mental stress its not even funny.
Im not no therapist or psychologist but learning meditation might also help you manage mental stress and negative emotions. This will allow you to get better at quickly detaching from frustration or negative thoughts and itll reset your mental state to neutral or even positive thinking, which will/can allow you to return back into flow state.
Last but not least, no one likes to play bad. even if you are playing bad in a team situation, being positive / analytical about it you wont bring your entire team down with you. its very easy to fuck up the mumble/team comm vibes if youre frustrated, speaking from first hand exp.