limits.conf changed, ulimit unchanged
I added * soft nofile 65535 to /etc/security/limits.conf and a fresh login still reports 1024.
limits.conf is read by pam_limits and applies to login sessions. Services started by systemd never touch PAM; they inherit LimitNOFILE= from the unit, which defaults to systemd's own value. If sshd runs with UsePAM no, SSH logins are unaffected too. And * does not match root, which needs its own line.
The reliable answer is to stop relying on global config:
[Service]
LimitNOFILE=65535
Then systemctl daemon-reload && systemctl restart app and confirm with cat /proc/<pid>/limits.