Quantidade máxima de threads

Pessoal desculpem a ignorância mas a quantidade máxima de threads que podem ser criadas em um aplicativo java esta diretamente relacionada a que ?? S.O ? JVM ? ´Quantidade de Memória ??

Limitado pelo SO e pela quantidade de memória.
(Pode ser que algumas JVMs tenham também um limite menor, arbitrário, porque elas possam implementar, por exemplo, threads mesmo que o sistema operacional não implemente threads. )
Além disso, o parâmetro -Xss também ajuda a dizer qual é a memória gasta pelo stack de cada thread.