I think you're being a bit too hard on yourself. Yes, you "froze," but it wasn't a big deal IMO. I'm going to make a lot of assumptions, as I wasn't there, and I'm not going to get all textbook psychology on you...
You didn't have an immediate reaction because there were no warning signs. You weren't in a bar, dark alley, weren't being threatened, etc. The incident was unprovoked at a place where you shouldn't have to have been on guard, reasonably speaking. The guy wasn't staring you down from across the room, you didn't say insulting things to him, etc. There were no red flags.
When the grab occurred, your brain was probably stuck in a loop assessing the situation. Had it been strong enough of a grab to cause actual pain, choking, etc. I'm pretty sure you'd have reacted. The amount of force was probably in between "this guy's being an idiot" and "this guy's trying to hurt me."
To me, it seems like because of all the circumstances, your brain was trying to figure out if it was a real threat or not. Had anything changed in the few seconds this went on - his grip got tighter, he raised a hand to hit you, he had that look of serious threat in his eyes, etc. you'd have snapped out of the "frozen" assessing state.
You weren't physically hurt. The threat, while seemingly psychologically real after the fact, wasn't real enough for you to physically react. You didn't attack from the smallest threat like a rabid pit bull.
Had he been actually choking you, had a grip tight enough to make your knees buckle, etc. and you did nothing, then I can see you doing a ton of soul-searching as to why you froze. There was no real threat, therefore no real response.
Had this not been a friend of a friend (someone invited him) not at a friend's house, not on an occasion where you're not thinking of any realistic threat, then you should really assess why you froze. If any single one of those had changed, the threat would have probably been determined as real immediately.
I'm assuming a ton of things here, as all of us are. I'm not saying you're making too much of it, but you very well may be. IMO the threat wasn't real enough to elicit an immediate response, that's why your brain was stuck analyzing all of these what ifs without you knowing it.