I found this on the interweb
Cause of Ntdll.dll Errors
The causes of ntdll.dll error messages can vary greatly. However, most ntdll.dll errors result from a corrupt or damaged version of the ntdll.dll file itself, corrupt hardware drivers, or issues between Windows and other programs.
Ntdll.dll errors can sometimes mean that a piece of hardware in your computer is malfunctioning, but this is rare.
How repeatable is this issue and does it repeat itself after a reboot?
I'm not sure here but since it's a member, it should probably be constructed in the constructor, not separately.
If you want to use a private static variable, why not declare and use it in the cpp, either as static or in an anonymous/unnamed namespace.