Arduino Mega2560 base current consumption

I'm using an Arduino Mega2560 with external power supply 12V. When I connect this power to Vin and GND pins with sketch like

void setup()
{
delay(50000);
}

void loop()
{}

it draws about 300mA and the onboard regulator heated very quickly and then the board turns off. What can I do with that? I've tested this on 3 different boards. What's wrong with me? :)

UPD1: I've tested another and it seems to be 50-60 mA, so it's good. But when I use it with my other board it fails. What can be wrong?

UPD2: the second test shows that it happens when we apply Ethernet Shield. Without the shield only one of 3 boards consumes 300 mA, but still consumes.

Does it upload and run a sketch (try a blink sketch or serial so you can verify it runs). Power up for as short a time as possible to test, and from USB, not 12V.

If this works the processor and USB interface may be OK.

Something has clearly fried, if you are lucky its just the 3.3V regulator, which can possibly be replaced if you can do SMT rework.

If you were powering it from 12V when the ethernet shield was attached that would overheat the 5V regulator anyway, too much current, try providing 8 or 9V instead.