OK. The heat is being generated by the 3G antenna. If you are surfing heavily and all over the place pulling down full sites then the phone will get warm. 50c is not by any stretch overheating at all. I have my Droid set to clock down when the CPU hits 52c. I regularly operate at 47c - 50c when using the phone heavily and have been since day one. Nothing new and nothing to really worry too much about. The one thing you will notice though is that your battery life will be woefully shorter than normal the longer the phone is "warm".
Thanks for the explanation. I feel better now. But what about the kernel with different voltage? Will they help the temperature profile, or just for battery life?
If the kernel has a voltage in one or more of the seven slots that is too low for your phone, you will get overheating from the OMAP3430's ECC module kicking in to fix data read/write errors.
I always recommend now to test with a Standard or Medium voltage kernel first to see what your phone is initially capable of. Then try lower voltage kernels. And you might have to try several different makers of kernels to find the "best fit" voltage levels for your phone. Since each developer has a different "Idea / Theory" on what is best.