Я не совсем уверен, почему вы удаляете файл, который имеет сериализуемое состояние ваших объектов. Итак, когда вы удаляете файл, который имеет сериализуемое состояние вашего объекта. Вы потеряете все, даже файла не будет. И, если вы попытаетесь получить доступ к тому же файлу другим способом, вы получите исключение.
Кроме того, когда вы удаляете конкретный объект, вы не сохраняете последнее обновленное состояние вашего объекта в файл (вы не сериализовали последнее состояние объекта), вместо этого вы непосредственно удаляете файл. Тогда какой смысл удалять объекты из десериализованного объекта?