Probably (hopefully) some environment limit.
Briefly googling doesn't suggest anything.
If it was me....
- I would write a C++\C# app to test maximum app limit. If that is limited by the same amount then it proves it in an environment and not java limit.
- Look into paid support requests to Oracle and\or Microsoft to ask them why the limit might exist.