Tamaño máximo de solicitud http para asp web.api con json

Tengo un proyecto web api.

Necesito publicar allí datos json con el archivo como cadena base64 codificada (hasta 200 mb).

Si envío datos de hasta aproximadamente 10 mb, entonces el siguiente método normalmente obtiene el modelo ImportMultipleFileModel rellenado correctamente.

[HttpPost]
    public async Task<HttpResponseMessage> ImportMultipleFiles(ImportMultipleFileModel importMultipleFileModel)
    { 
        var response = ImportFiles(importFileModel);
        return response;
    }

Si envío más, entonces el modelo es nulo.

¿Por qué?

Entonces cambio la firma del método a:

    [HttpPost]
        public async Task<HttpResponseMessage> ImportMultipleFiles()
        {
            ImportMultipleFileModel importMultipleFileModel = null;
            var requestData = await Request.Content.ReadAsStringAsync();
            try
            {
                JsonConvert.
                importMultipleFileModel = JsonConvert.DeserializeObject<ImportMultipleFileModel>(requestData);
            }catch(Exception e)
            { }
}

Y para el archivo codificado de 30 mb normalmente obtengo requestData como cadena json. Por 60 mb obtengo una cadena vacía. ¿Por qué?

A continuación, cambio el método a

    [HttpPost]
        public async Task<HttpResponseMessage> ImportMultipleFiles()
        {
            ImportMultipleFileModel importMultipleFileModel = null;
            var requestData = Request.Content.ReadAsStringAsync().Result;
            try
            {
                importMultipleFileModel = JsonConvert.DeserializeObject<ImportMultipleFileModel>(requestData);
            }catch(Exception e)
            { }
}

Y la deserialización falló debido a OutOfMemoryException.

¿Por qué?

UPD: maxRequestLength, maxAllowedContentLength establecido en 2147483647

Respuestas a la pregunta(1)

Su respuesta a la pregunta