While I think it was appropriate to veto the candidate, I hope that you explained the decision to him. Many excellent engineers that I’ve worked with hold these biases, mostly unintentional or in an unconscious manner, and unless you make the situation clear to them, their behavior will not change. This doesn’t excuse the behavior, however, if you just rejected the candidate without tactfully explaining why his behavior is unacceptable, then he will just go on to another company, and be hired by men who won’t pick up on the behavior, and his behavior will have been perpetuated, the candidate none the wiser. If his behavior was not outrageous, and he was indeed talented, you could have hired him under some condition of sensitivity training (or something similar, I know not much of HR policies or how realistic this might be to begin with). I believe a strategy like this would be most effective in causing a culture change in the tech world with regards to sexism.