¿Por qué no puedo pasar "window.location.reload" como un argumento para setTimeout?

Me encantaría conocer el error que estoy viendo en Safari y Chrome con la siguiente línea de código:

setTimeout(window.location.reload, 250);

Informes de Chrome:
Uncaught TypeError: Illegal invocation

Y Safari:
TypeError: Type error

En Firefox, el código funciona bien. Además, este código funciona bien en cada uno de los tres navegadores:

setTimeout((function() {
  window.location.reload();
}), 250);

Chrome y Safari no tienen problemas con este código:

var say_hello = function () { alert("hello") };  
setTimeout(say_hello, 250);  

Qué tiene de especialwindow.location.reload que causa este error?

(No estoy seguro de si es útil o no, pero aquí hay unjsfiddle ilustrando esto)

Respuestas a la pregunta(3)

Su respuesta a la pregunta