A reconstrução provavelmente redefiniu a alocação do cgroup do container, o que explicaria por que ele está estável novamente.
Considerando os erros originais de “can’t alloc thread” e o fato de que tudo o mais (ulimits, TasksMax, PIDs do Docker) está ilimitado, o suspeito restante é a pressão do cgroup de PIDs.
Você poderia verificar, durante a carga normal:
cat /sys/fs/cgroup/pids.current
cat /sys/fs/cgroup/pids.max
Se pids.current estiver se aproximando de ~2000+ contra um máximo de ~2285, isso confirmaria que o container estava atingindo o limite de PIDs do cgroup durante os surtos de redefinição do agendador / reconexão do Redis.
Isso também explicaria por que o problema só apareceu após a atualização (maior troca de threads) e por que a reconstrução o limpou temporariamente.