The first time I took GMAT I scored 660 (Q48, V32).
On the second try, I got 690 88 percentiles overall (Q 50 93percentiles, V34 68percentiles).
I am wondering if I should take it for the third time.
My dream is to attend top MBA schools such as Harvard and I feel my score is not sufficient enough.
How do I get penalized if I take it too many times?
Getting a higher score than your current score isn't going to help you as much as improving other parts of your application to get into HBS. Getting into HBS is more than spectacular test score and high GPA.
You should only take it again if you can improve your verbal score by wider margin than your second attempt. I wouldn't discourage you from increasing your score if you can, not because it will help you get into HBS, but it will make you more competitive for other schools other than HBS.