Esse código inclui chamadas de funções Localizar e Excluir no escopo de uma única sessão. Como eu acho, o problema no código da pergunta está usando diferentes.
public T RemoveById(int id)
{
_transaction = Session.BeginTransaction(IsolationLevel.ReadCommitted);
T res=_session.Get<T>(id);
_session.Delete(entity);
_transaction.Commit();
}
(chamada de ação :)
RemoveById<MyEvent>(id)