man sshd_config has the answer to your question (in a manner of speaking) in the line:
MaxStartups 10:30:100, which is the default. Here's another reference that provides additional details.
So it would seem that the maximum number of simultaneous connections is determined by the last value in
MaxStartups: 100 in the default case. As far as a connection limit, that would be based on the data type used in the
sshd code that holds these values. I think it's a
unsigned short int (65,535 max connections), but I'd need to research that to be certain.
Finally, if by
theoretical limit you mean, "What will the hardware support?", I'd have to guess the only answer is, "it depends"... depends on how much data each SSH connection is passing, and other loads on the RPi that will compete for processor and memory resources.