Parece que sí, marque el source code of ControllerActionInvoker.cs. No lo he verificado, pero la lógica me dice que un retorno nulo establecerá que actionReturnValue sea nulo, por lo que se genera un EmptyResult. Este es el código fuente más reciente, no se ha verificado la fuente de ASP.net MVC 1.0.
protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) {
if (actionReturnValue == null) {
return new EmptyResult();
}
ActionResult actionResult = (actionReturnValue as ActionResult) ??
new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) };
return actionResult;
}
Bien, entonces está usando un Patrón de Objeto Nulo. –