Depois de usar as respostas para essa pergunta: Can O Windows me diz o que está usando a minha unidade USB? , descobri no Visualizador de Eventos que o Gerenciador de Tarefas estava usando a unidade:
The application \Device\HarddiskVolume5\Windows\System32\Taskmgr.exe
with process id 3708 stopped the removal or ejection for the device
USB\VID_0480&PID_A00C150207045837.
Depois de fechar o Gerenciador de tarefas, consegui "Remover hardware com segurança".
Alguém sabe porque Taskmgr iria parar a remoção da unidade?