Overriding FOutputDevice::CanBeUsedOnMultipleThreads() brokes messages.

I developed a runtime log catching and visualizing system by using FOutputDevice. You can access it from here. It captures all UE_LOG(LogTemp) and PrintString() messages automatically.

The problem is, If I enable CanBeUsedOnMultipleThreads() by overriding it like this

bool FRuntimeLoggerOutput::CanBeUsedOnMultipleThreads() const
{
    return true;
}

const TCHAR* Message comes empty