Gestión de recursos bloqueados (archivos de imagen)

La aplicación es un sistema de gestión de documentos de escritorio. Los archivos de imagen (de documentos escaneados) se almacenan en una carpeta de red compartida y sus índices en una base de datos. Ahora, cuando se muestra la imagen de una página de documento seleccionada, el usuario tiene la opción de borrarla (a través de un menú contextual). El problema es que si trato de hacer esto, se produce una excepción (el recurso está bloqueado) que tiene todo el sentido dado que se muestra en la pantalla. Por lo tanto, actualmente mantengo una cola de eliminación persistente. Una vez que la aplicación se inicia, voy a la cola y borro las páginas de los documentos cuyos índices se eliminaron de la base de datos y dado que no se muestran, la eliminación se realiza correctamente pero parece ser un código bastante malo (quiero decir que funciona, pero no Tan limpio como debería, supongo).

Qué mala es mi solución rápida. Dado que la aplicación es de usuario único, el usuario debe iniciar la aplicación para usarla. ¿Es esta una muy mala idea o puedo implementarla usando otra ruta?

Las imágenes se muestran (dentro del visor de documentos) vinculándolas al archivo actual:

Ver:

<Image Name="PageViewedPath" Margin="20" Grid.Column="0" />

ViewModel:

public string PageViewedPath { get; set; }

Y una vez que el usuario hace clic en siguiente o anterior, cambio (dentro de ViewModel the PageViewedPath). Tal vez el problema sea este enlace que no puedo controlar en detalle, estoy usando Caliburn Micro, por eso simplemente al establecer el nombre de la imagen se realiza el enlace.

Creo que tal vez sea necesario anular este enlace y crear una copia impresa de la imagen antes de que se muestre, pero no estoy seguro de si lo hará y, peor aún, cómo hacerlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta