Thanks for the replies.
I used iPhone 3gs before upgrading to N4. I didn't notice such heat issue with the 3gs (maybe because I was using a hard case).
After a call, the battery temperature on my N4 is 29C which is pretty normal. However, it is still a little warm in the hand. The battery temp and the phone temp are not the same anyway. I currently don't have a tool to monitor the processor temp or the phone body temp.
I should say the phone is warm in normal use (a few apps running in the background, some browsing), and is really really hot when playing 3d games. How hot is it? well, I don't have a number to give you but ... Ignoring the fact that it is uncomfortable for using at such temperature, my hands are just not capable of holding it. That's how hot.
If the phone is capable of running heavy games but your hands are not capable of dealing with the heat, then I would question the true capability of the phone and the user experience in general.
I know the phone is deal. At this price, I should have no complaint. But they're some points I want to make. To me there are things that Google needs to work on, hopefully software-wise.