This looks like a Anger and guilt loop. We tend to express unhealthy anger then feel guilty about it and then repeat it again. Healthy anger is Healthy negative emotion and is required to be assertive. Probably what you are doing is being passive for long and then suddenly get aggressive. A proper treatment plan and action plan can help you with strategies to manage your anger.
Next Steps
Sublimate your anger by using assertive skill but it's easier said then done. So take a support of Psychologist online offline.
Health Tips
Try getting involved in some hobby you like. Give time and space to sublimate.