별다르게 문제 해결에 도움이 안 됩니다. 전형적인 AV(Access Violation) 오류인데, 실제로 추적해 보면 포인터가 정상적인 메모리를 가리키는 위치가 아니라서 어쨌든 AV 예외가 발생하는 것이 맞습니다.
이런 경우, 제 경험으로는 2가지로 나뉩니다.
내부에서 사용한 다른 native 코드 자체, 또는 그것을 사용하는 측에 버그가 있는 경우입니다. 그게 다른 네이티브 코드에 간섭을 일으켜 저런 AV가 발생하는 것인데요, 이런 경우 내부에서 사용한 네이티브 코드를 가짜 더미 코드로 대체해 테스트하는 식으로 검증해야 합니다.
실제로 WPF Render Thread 자체에 버그가 있는 경우입니다. 가능성은 그리 크지 않습니다. 왜냐하면, WPF 자체가 많은 엔진의 기반이므로 그런 식의 오류가 있었다면 이미 수많은 앱들이 겪을 수 있기 때문입니다. 단지, 마이크로소프트 역시 일반 개발자들의 실수를 할 수 있으므로 고려해 볼 수는 있는데요, 애석하게도 이슈를 열어 설득(?)시켜 패치를 내놓게 만들어야 하기 때문에 프로젝트 일정상 별로 좋은 상황이 아닙니다.
일단, 네이티브 사용 코드 및 그것이 하는 역할을 가짜 managed 코드로 대체해 보시고, 그래도 오류가 발생하면 재현이 “반드시” 되는 “최소한의 간단한” 코드를 마이크로소프트 측에 이슈를 제기해 보세요.
알려주신 내용으로 테스트중인데 아직 문제점을 찾지 못했습니다.
코드도, 윈도우 환경도 업데이트 및 변경한 사항은 없지만 최근 일주일간은 에러없이 잘 돌아가고있습니다.
일단 스레드 관련 이슈에 대해 더 알아보면서 이슈가 발생하면 다시 글을 올려야 할 것 같네요. (호출스텍, 스레드 창 등)