Inside the DNS Server service, there is a thread count limitation (maximal 120 threads). However, it does not limit processors (or cores).
#define DNS_MAX_THREAD_COUNT (120)
On 64 cores server, DNS Dynamic update routines will create 64 Update threads, and UDP I/O and dispatch routine will create 64 UDP Listen threads. Besides that, the following threads will also be created for DNS operation,
"Recursion Timeout" thread
"Secondary Control" thread
"DsLoad_Thread" thread
"Timeout_Thread" thread
Therefore, the thread limitation will be reached: 64 *2 + 4 = 132 > 120, and ERROR_SERVICE_NO_THREAD error would occur.
On 32 cores server, the DNS service would be running fine as it only creates 32 * 2 + 4 = 68 threads
Resolution
Reduced the no of processors by running the below command and rebooting the Server
bcdedit /set numproc 32