O problema pôde ser com criação de tabelas do temp e o tamanho alocado do DB do temp. Desde que você não está deixando cair as tabelas do temp manualmente no fim do disparador, puderam ainda prender o espaço no tempdb. Se não há nenhum espaço no tempdb para criar mais tabelas para a inserção em cada fileira (recordar disparadores nivelados da fileira das sustentações do usuário do SQL somente), a seguir o usuário espera o espaço do tempdb a ser livrado a menos que você especific o arquivo de dados infinito.
Adicionar o seguinte no fim do
deixar cair o #TempTempSkuTransaction da tabela;
Igualmente verific se você pode liberar TempTable.