Is there a limit to total DX12 heaps that can be created ?

I recently tested a new scene in my engine, and it’s fairly big.
It results in 2000-2500 drawcalls and due to my engine design I have a CBV_SRV_UAV and a Sampler heap for every object/draw call ( 16 CBV/SRVs descriptors and 2 Sampler descriptors each ).
On my Nvidia GTX 1060, the app crashes in a call to CopyDescriptorsSimple on the next drawcall after the creation of 2047 CBV_SRV_UAV heaps and 2047 Sampler heaps.
I create these heaps on demand so only the visible objects get their individual heaps but so far it always crashes before creating 2048 heaps of a single type.

As far as I read the DX12 documentation, there is no limit on the number of individual heaps that can be used in a frame, so I wonder why I’m having these crashess. The debug layer doesn’t have any errors or warnings by the way.

After trying to fix my SamplerHeaps to not use 2048 samplers, I’ve hit another limit, a sort of total number of total heaps that can be created on my GTX 1060 : 4096.

After creating 4096 heaps {4012 CBV_SRV_UAV, 82 Sampler, 1 RTV, 1 DSV}, the GetCPUDescriptorHandleForHeapStart() call on the Heap returns 0 and then the driver crashes in nvwgf2umx.dll .

So yeah, Nvidia’s got big issues with total heaps.