Re the above. I own two leash reactive dogs who can be dangerous to small dogs and are intolerant to rude dogs, including those making a beeline straight for them. They are controlled, leashed and muzzled at all times. I am responsible for their behavior. But if your dog did that to me, I'd be incredibly annoyed. Because just because your dog is friendly, I don't know that, will not trust your word on it, and you don't know my dogs so by losing your dog, you put my dogs at risk, your dog at risk and make me responsible for your dog. That's not ok.
You then run over with another dog who I don't know. You've already lost control of one dog, and you want to add another to the mix.
I do react aggressively, because I've had 'friendly' off leash dogs attempt to attack my two, have seen mine attempt to attack others (and I do mean attack, not just discipline though they've done that too) and have heard too many stories of leashed dogs be injured or killed by others.
So, although I think his swearing at you afterwards, I do think you were responsible. You don't know what history they have with other dogs. And your dog should be under control, including having reliable recall.
Picking the small dog up in that situation doesn't always work and can make it worse. You don't know if the small dog is aggressive or not but sticking hands into that situation is a nice way to get bit. And for my dogs, a small dog lifted up becomes more like prey. Not good. This leaves aside the fact that they shouldn't have to.
Having said that, I don't think you're a SS. You're a dog owner and things go wrong. We all make mistakes.