¿Cuándo se eliminan exactamente las cosas de la memoria y el disco de urlcache?

let memoryCapacity = 200 * 1024 * 1024
let diskCapacity = 1 * 1024 * 1024
let cache = URLCache(memoryCapacity: memoryCapacity, diskCapacity: diskCapacity, diskPath: "myDataPath")
URLCache.shared = cache

Escenario 1

Estoy configurando la memoria de urlcache en 200mb y configurando el espacio en disco en 1mb. Luego descargo una imagen. Apague Internet y fuerce el cierre de la aplicación, inicie la aplicación nuevamente tocándola y active una llamada (para descargar la imagen) pero se bloquea inmediatamente porquedata esnil

No es necesario decir que si apago Internet, seguirá leyendo de la memoria caché como se esperaba y no ocurrirá ningún bloqueo.

Escenario2

Si configuro el diskCapacity a 200mb (let diskCapacity = 200 * 1024 * 1024) a pesar de que la memoria caché se vacía de memoria, la imagen persiste en el disco; siempre se mostrará!

En base a esta observación, tengo las siguientes preguntas:

¿Es correcto decir que cada vez que fuerza el cierre o su aplicación se bloquea debido a una advertencia / problema de memoria, su caché se vaciará, aunque deje su disco intacto?¿Alguna otra razón por la que la memoria caché se puede eliminar de la memoria?¿Cuándo se pueden eliminar las cosas almacenadas en el disco?