Unless his fix is flawed you should thank him and move on. Even if the bug is in code you wrote, it's not really your bug nor is it your code. It is the companiescompany's code and the company's mission is to deploy that code without bugs. YourYour colleague is doing the company a favor by fixing bugs.
It's great that you want to be responsible for all code you release including bugs, but it's also a bit of an ego issue if you have a problem with colleagues offering assistance. Again, it's not really important what you do (in the big picture),; it's what the company as a whole does. If you are concerned more about the company's mission than your own, you would not have a problem with this.
The only potential issue I can see with this is if your colleague is falling behind on their own responsibilities by offering unsolicited assistance to others, in which case that is not your concern unless you are their manager.
Also, you mention that the bug was discovered on Friday and you were not able to look into it until Sunday. If your colleague was able to work on it Friday you should not have disagreed. Also you say that the code was scheduled to release Monday, and fixing it late on Sunday night doesn't seem good enough IMO. Your fix would need additional testing that should be started as soon as possible, not late the night before.