sei que é bem tardio essa resposta, mas servirá para futura referência.
Para resolver essa questão faça da seguinte maneira:
public void removerObjeto(Objeto obj) {
//Sendo 'manager' um 'javax.persistence.EntityManager'
manager.remove(manager.getReference(Objeto.class, objeto.getId()));
}
A explicação é o seguinte, de fato, não é necessário ter o seu objeto associado à uma transação, porém, para remover um objeto (lembre-se que se trata do Hibernate, portanto, estamos removendo um objeto) é necessário ter a referência da classe, bem como da chave primária da tabela, ou seja, o ID da tabela.
Para remover um objeto temos que referenciar o mesmo, junto com o valor da sua chave. Caso queira remover o registro normalmente sem ser dessa maneira, pode-se criar um Statement através do .createQuery("DELETE FROM Tabela WHERE ");