Dialog não carrega dataTable com lista de objetos

Fala galera, seguinte tenho um dataTable onde carrego os grupos existentes na minha aplicação. Neste dataTable tenho alguns botões com as finalidades de: add um novo grupo, alterar um grupo, excluir um grupo e adicionar um subGrupo àquele grupo. Além disso tenho um botão que abre um dialog com um dataTable dentro que carrega todos os subGrupos daquele Grupo. Acontece que o dialog não carrega os dados, olhando o sql gerado pelo hibernate vejo que ele mostra 3x a mesma sql em sequência, porém a primeira vez q a sql é mostrada ela está correta (traz a lista de subGrupos) e as outras duas apirações não me retorna nada (inclusi perde os parametros do grupo). Onde será que está o problema ? ja tentei renderizar componentes diferentes, tentei colocar fora do form geral e nada adiantou… segue o código da página. Desde já agradeço!

<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:c="http://java.sun.com/jsp/jstl/core"
                xmlns:p="http://primefaces.org/ui" template="../main.xhtml">

    <ui:define name="content">
        <h:form id="fmGrupoCusto">
            <p:growl id="msgs" showDetail="true"/>
            <p:commandButton id="btnAdd" value="Novo" action="#{grupoCustoController.adicionar()}"
                             icon="fa fa-plus" class="btn btn-primary btn-sm" style="margin-bottom: 7px;"/>
            <p:dataTable id="actorsTable" var="grupo" value="#{grupoCustoController.listaGrupos}" 
                         selectionMode="single" rowKey="#{grupo.id}" paginator="true" rows="10"
                         paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                         rowsPerPageTemplate="10,20,30">
                <f:facet name="header">
                    <h3>Lista de Grupos do Centro de Custo</h3>
                </f:facet>
                <p:column headerText="Código" sortBy="#{grupo.id}" filterBy="#{grupo.id}" style="width: 68px;">
                    <h:outputText id="cod" value="#{grupo.id}"/>
                </p:column>
                <p:column headerText="Nome Grupo" sortBy="#{grupo.nomeGrupo}" filterBy="#{grupo.nomeGrupo}" style="width: 250px;">
                    <h:outputText id="nome" value="#{grupo.nomeGrupo}"/>
                </p:column>
                <p:column headerText="Ações" style="width: 140px; text-align: center;">
                    <div style="margin-bottom: 3px;">
                        <p:commandButton id="btnSubGrupo" icon="fa fa-plus" class="btn btn-default btn-sm"
                                         action="#{grupoCustoController.adicionarSubGrupo()}" value="Subgrupo">
                            <f:setPropertyActionListener value="#{grupo}" target="#{subGrupoCustoController.grupoCusto}"/>
                        </p:commandButton>
                    </div>
                    <div>
                        <p:commandButton update=":fmGrupoCusto:subGrupoList" 
                                         oncomplete="PF('subGrupoDialog').show()" 
                                         icon="fa fa-search" 
                                         class="btn btn-success btn-sm" 
                                         title="Visualizar">
                            <f:setPropertyActionListener value="#{grupo}" target="#{grupoCustoController.grupoSelecionado}" />
                            <p:ajax event="click" listener="#{grupoCustoController.getSubGrupoList(grupo.id)}" update=":fmGrupoCusto" immediate="true"/>
                        </p:commandButton>
                        <p:commandButton id="btnEdit" 
                                         icon="fa fa-edit" 
                                         class="btn btn-info btn-sm" title="Alterar" 
                                         update=":fmGrupoCusto" 
                                         action="#{grupoCustoController.carregarGrupoCusto(grupo)}"/>
                        <p:commandButton id="btnExcluir" 
                                         icon="fa fa-trash" 
                                         class="btn btn-danger btn-sm" 
                                         title="Remover"
                                         update=":fmGrupoCusto"
                                         action="#{grupoCustoController.deletar(grupo)}">
                            <p:confirm header="Confirmação" message="Deseja realmente excluir este Grupo de Custo?" icon="fa fa-info-circle" />
                        </p:commandButton>
                    </div>
                </p:column>
            </p:dataTable>
            <!--Confirmação excluir-->
            <p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
                <div style="margin: auto; width: fit-content;">
                    <p:commandButton value="Sim" styleClass="ui-confirmdialog-yes" icon="fa fa-check" />
                    <p:commandButton value="Não" styleClass="ui-confirmdialog-no" icon="fa fa-close" />
                </div>
            </p:confirmDialog>

            <p:dialog header="Subgrupos Existentes" widgetVar="subGrupoDialog" modal="true" 
                      showEffect="fade" hideEffect="fade" resizable="false" draggable="false"
                      appendTo="@(body)">
                <p:outputPanel id="subGrupoList" style="text-align:left;">
                    <p:dataTable id="dtSubGrupos" var="subGrupo" value="#{grupoCustoController.getSubGrupoList(grupoSelecionado.id)}" 
                                 editable="true" style="margin-bottom: 20px;">
                        <f:facet name="header">
                            Subgrupos
                        </f:facet>
                        <p:column headerText="Código">
                            <p:cellEditor>
                                <f:facet name="output"><h:outputText value="#{subGrupo.id}"/></f:facet>
                                <f:facet name="input"><p:inputText id="codInput" value="#{subGrupo.id}" style="width: 5px;"/></f:facet>
                            </p:cellEditor>
                        </p:column>
                        <p:column headerText="Nome">
                            <p:cellEditor>
                                <f:facet name="output"><h:outputText value="#{subGrupo.nomeSubGrupo}"/></f:facet>
                                <f:facet name="input"><p:inputText id="nomeInput" value="#{subGrupo.nomeSubGrupo}" style="width: 140px;"/></f:facet>
                            </p:cellEditor>
                        </p:column>
                        <p:column style="width:50px;">
                            <p:rowEditor />
                        </p:column>
                    </p:dataTable>
                </p:outputPanel>
            </p:dialog>
            
        </h:form>
    </ui:define>
</ui:composition>