The crash in CreateCanvasRenderTarget2D comes down to the fact that they changed the way they initialise the FCanvas from 4.4 to 4.5:
FCanvas RenderCanvas( GameThread_GetRenderTargetResource( ), nullptr, FApp::GetCurrentTime( ) - GStartTime, FApp::GetDeltaTime( ), FApp::GetCurrentTime( ) - GStartTime, GetWorld()->FeatureLevel );
Now requiring the Feature Level, the problem here is though that GetWorld( ) returns NULL. I replaced the above line with the below line in CanvasRenderTarget2D.cpp at Line 53 with the following:
FCanvas RenderCanvas( GameThread_GetRenderTargetResource( ), nullptr, FApp::GetCurrentTime( ) - GStartTime, FApp::GetDeltaTime( ), FApp::GetCurrentTime( ) - GStartTime, /* GetWorld()->FeatureLevel */ GetMaxRHIFeatureLevel( ) );
Which stopped the crashing for me. I will continue to test the other issue your having with FCanvas and GameThread vs RenderThread