Instead of creating the thread directly in the constructor, the thread is now created when the context is refreshed and stopped when the context is closed. As AOT processing never refreshes the context, the thread is never started and can't block the AOT processing task. Closes gh-38531