Well done, especially in the harder category race.
Are you riding alone or are you in a club with teammates in these races?
It sounds like you're doing a lot of work on the front.
It's a tough situation to be in: if you work to chase the break, the people who sat at the back and didnt do anything will be fresher and probably beat you in the sprint, but if you dont do any work, there's a chance the break wont be caught and even if your fresh for the sprint and beat the bunch, you'll still only be 4th.
Your main focus in a race should be to save as much energy as possible until you need to use it.
Try to be aware of everything that's happening in the race. How many riders went in the break? How many are working at the front of the bunch to chase it? If there are more working in the bunch, they'll probably bring it back, so you dont need to help them.
Work out the time gap to the break (check the time when the break passes a fixed point on the road, check again when the bunch passes, work out the difference) and keep doing that. Is the gap coming down? If so, you dont need to go and help chase.
Check out who you're racing against. Are those guys in the break the over-excitable type who sprint off only to blow up 5 miles later? Or are they the type of guys who can last a whole race in the break? Obviously you cant know everybody, but you can look through the start list and check out previous results to see who the strong guys are. Remember the numbers and if you see them starting a break, try and get in there with them.