I have found a fix to the problem from a user on Reddit.
Source https://www.reddit.com/r/wow/comments/ezo05u/a_possible_bandaid_fix_for_directx11_freezes/
Step 1) Download addon “BeQuiet” to prevent pop up chat frames
Step 2) Create two macros
/run CharacterModelFrame:Hide();
/run CharacterModelFrame:Show();
Step 3) Run the HIDE macro/script when you log into game each time
I have played for 12-15 hours straight with no lockups whatsoever. I can recreate the lockups within 3-5 minutes of disabling the “BeQuiet” addon, and the hide script.