Threading issue with Graphics::drawText

Here is example Code to recreate the problem:

Its build x64 and WITHOUT direct write

#if JUCE_USE_DIRECTWRITE != 0
#error // this example works only when DIRECTWRITE is Disabled
#endif


class MainContentComponent : public Component, public Timer, public Thread
{
public:
    //==============================================================================
    MainContentComponent()
		: Thread("BackgroundThread")
	{
		setSize(600, 400);
		startTimer(1);
	}

	~MainContentComponent() 
	{
		stopThread(100);
	};

    void paint (Graphics& g)
	{
		g.fillAll(Colour(0xff001F36));
		g.setFont(Font(16.0f));
		g.setColour(Colours::white);

		static char s = 0;
		s++;
		g.drawFittedText(String::createStringFromData(&s, sizeof(s)), 0, 0, 400, 400, Justification::centred, 1, 1.);



		if (!isThreadRunning())
		{
			// Start thread after first use of drawText
			startThread();
		};
	}

	void run() override
	{
		Image testimage(Image::ARGB, 400, 400, false);

		Graphics g(testimage);

		char s = 128;
		while (!threadShouldExit())
		{
			g.drawFittedText(String::createStringFromData(&s, sizeof(s)), 0, 0, 400, 400, Justification::centred, 1, 1.);
			Thread::sleep(1);
		};
	};

    void resized() 
	{
		// This is called when the MainContentComponent is resized.
		// If you add any child components, this is where you should
		// update their positions.
	}

	void timerCallback()
	{
		repaint();
	}

private:
    //==============================================================================
    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)
};