Outro processo poderia estar usando o arquivo? Se um processo tiver um filehandle aberto, o uso de rm removerá o nome, mas os blocos não serão liberados até que o último processo com um filehandle aberto seja encerrado.
Se você tiver um aplicativo que usa o arquivo, ele está em execução. Pode ser reiniciado?
Antes de remover o arquivo, você pode usar o fusor para descobrir quais processos têm um filehandle aberto:
$ sudo /sbin/fuser /var/log/messages
/var/log/messages: 3004