What is the log output?
Javadoc for getInstance() method says:
Get the managed entity, using the id from getId() to load it from the Persistence Context or creating a new instance if the id is not defined.
So its looks like you are creating and deleting and entity several times. If you want to delete a particular row from a database why don't you call setId() first and then invoke remove() ?