Am I wrong to be mad?

So im in a 3 yr relationship we've been dstimg since 15/16 now we're 18/19 so we're growing up together and its fun and we're still in love but we have this one reoccurring problem that just doesnt seem to go away and sometimes it makes me want to end the relationship. I know I'm a sensitive person I have been my whole life but his problem is that he's so inconsiderate like he'll say mean things and I have to tell him but honestly he has been working on it and has been more open to my feedback on it. So thats some background my problem today is that last night him and all his coworkers decided to go out at 11:30pm (bc thats when they're all off.) They had gone out together before and I wasn't really upset last time until he still wasnt home and it was already 4am. We don't live together but it made me upset because i know how much his mom worries about him and also he wasn't texting me updates or anything. So when this time came around I told him "please dont stay out too late, I get worried" and he said "I promise ill be home by 3 i wont even go out to eat with them" but in the end he didnt get home until 6:30am and i couldnt sleep because I hadnt been home by the time he said he would and I was worried so I decided to check his location (we share our location with each other in case of an emergency) and he was at someones house???????? I texted him and he said he was just talking to his friend?? At 6am????? It makes me extra mad that he literally ignored his moms calls and text all night and stayed out super late but when hes with me as soon as he recieves a text at 9:30pm to go home he leaves asap. So anyway do I have the right to be mad? Or am i just being controlling? Also want to add that last may he said he was going out with his friends for a school event and it ended up with him at a party without him telling me and him ignoring my calls and text because he knew i would "be mad and ruin his fun" when i was worried that he had been drinking or smoking and he was driving, I have already forgiven him for this so its unfair for me to get mad over it again but it just shows exactly to what extent this goes to.

Ps. Im sorry this is so long I'm not the type of person fo vent often :(