мы как минимум не в курсе, как именно ты удаляешь в removeRefPerson
и почитай о том, что делает persist, много нового узнаешь
persist для чего?
например у меня foreach, и каждый раз после того как я буду добавляет новую сущность к какому то объекту, и если не буду персистить, и в конце сделаю ->flush() то у меня только последнее сохраниться, и с такой логикой, после каждого удаления я персистю, чтобы сохранилось удаление каждого элемента от сущности