There is a limit to the number of docker containers that can be created within an unprivileged container

I had installed lxd on my own server and provided my friends with an environment where they could develop using docker containers.
In that case, I found that the docker run command would not accept any operations.
This phenomenon affects all LXD containers running under the same UID at the same time.
This symptom makes it seem as if there is an upper limit to the number of containers that can be created with an unprivileged UID.
So I used the following operation to find out how many docker containers a UID can create. When I verify it on different hosts (about 4), the upper limit shows a behavior where 50~200 is the upper limit.
I have changed the kernel limit by referring to the “Production setup”, but is there any other setting that I should change?
Can someone please tell me why this is happening?
Thank you very much for your help.

If you run make-many-container.sh and start many containers, the docker command will freeze.

39476c6fe513971d9dbc195ab0d06cbbba103b7d90e34d430ae28a8aa5785b45
143
3b2aa45a4b83812f0f254b043a478436a3830c15777ef9d0deb44b2925c907c1
144
b1a9cd9ed84c46d1f3988f2026415f6ed6350a5d2c12157c9a9ca7589d73c08e
^C^C^C^C

Translated with www.DeepL.com/Translator (free version)

lxc init ubuntu docker-test
lxc config set docker-test security.nesting true
lxc config set docker-test security.idmap.isolated true
lxc start docker-test
lxc exec docker-test -- apt update
lxc exec docker-test -- apt upgrade -y
lxc exec docker-test -- apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

lxc exec docker-test --  bash -c "curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -"
lxc exec docker-test -- apt-key fingerprint 0EBFCD88
lxc exec docker-test -- sh -c "cat << EOF >> /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable
EOF"


lxc exec docker-test -- apt-get update
lxc exec docker-test -- apt-get install docker-ce docker-ce-cli containerd.io -y
lxc exec docker-test -- apt install fuse3 fuse-overlayfs -y
lxc exec docker-test -- bash -c "cat <<EOF | tee /etc/docker/daemon.json
{
"storage-driver": "fuse-overlayfs"
}
EOF"

lxc exec docker-test -- systemctl restart docker.service 
lxc exec docker-test -- docker info
cat <<EOF | tee .make-many-container.sh
#!/bin/bash
for i in {1..150} ; do
    echo \$i
    docker run -itd --rm  --name ubuntu-c\$i ubuntu
done
EOF
lxc file push .make-many-container.sh docker-test/make-many-container.sh
rm .make-many-container.sh
lxc exec docker-test -- chmod +x /make-many-container.sh
lxc exec docker-test -- /make-many-container.sh


cat <<EOF | tee .stop-many-container.sh
#!/bin/bash
for i in {1..150} ; do
    echo \$i
    docker stop ubuntu-c\$i 
done
EOF
lxc file push .stop-many-container.sh docker-test/stop-many-container.sh
rm .stop-many-container.sh
lxc exec docker-test -- chmod +x /stop-many-container.sh
lxc exec docker-test -- /stop-many-container.sh