Jak usunąć plik zablokowany przez inny proces w języku C #?

Szukam sposobu na usunięcie pliku, który jest zablokowany przez inny proces za pomocą C #. Podejrzewam, że metoda musi być w stanie znaleźć, który proces blokuje plik (być może śledząc uchwyty, chociaż nie wiem, jak to zrobić w języku C #), a następnie zamknąć ten proces, zanim będzie można ukończyć usuwanie pliku za pomocąFile.Delete().