I have experienced this issue when load testing an application at a client site. We simply could not exceed 64000 concurrent users while the CPU was barely at 20%.
I have been looking for a parameter which will allow us to override default compilation throttling and allow for more of it on SQL 2008 and above. To no avail.
So, here are some tips:
1. If you are lucky enough to have a few repetitive queries, try to rewrite or isolate the ad-hoc portion and place it into its own precompiled structure (function, SP).
2. Use plan guides for the ad-hoc queries which are causing the mess. Not trivial either.
Other options: Scale out the DB, or add CPUs as throttling is based on the number of CPUs.
Good Luck
Yassine Elouati