How to stop the Kernel from running wild?

How to abort or stop this (accidently large defined) SparseArray production?

s = N[SparseArray[Table[{2^i, 4} -> i, {i, 30}]]]

Alt+. or Alt+, seem to give up. Even your Windows task manager is struggling.

-
Evaluation->Quit Kernel -> Local often succeeds where Abort Evaluation fails for me. –  image_doctor Jan 13 '13 at 16:42
–  István Zachar Jan 13 '13 at 17:17
Concerning the Task Manager statement: Although the TM struggles, and can take a minute or two to respond, I find that patience pays off: navigate to the [Processes] tab, right-click on the instance of Mathkernel.exe that is hogging all the RAM, and choose "end process." Each step can require a painfully long wait, but in the end it does work. –  whuber Jan 13 '13 at 19:12
Another related question: mathematica.stackexchange.com/q/2789/5 –  rm -rf Jan 13 '13 at 20:58

Could use $Pre to wrap things in MemoryConstrained. I'll illustrate with an unusually tight constraint. SetAttributes[memcon, HoldAll] memcon[new_] := MemoryConstrained[new, 10^4]$Pre = memcon;
(* Out[4]= $Aborted *) s = N[SparseArray[Table[{2^i, 4} -> i, {i, 20}]]] (* Out[5]=$Aborted *)
If you don't preclude the use of $Pre as I did in my earlier question this is an excellent method. I recommend it to anyone using version 7 or earlier. Belisarius gives a nice method for v8+ in the linked thread that does not tie up$Pre. –  Mr.Wizard Jan 14 '13 at 1:14