I found the way why it's not hosting to windowsFormsHost. It's because _process.MainWindowHandle is 0. So we need to wait until the Process finish and we can insert it to WindowFormHost. _process.WaitForInputIdle(); not efficient to wait Process finish. So I need to make thread sleep while _process.MainWindowHandle is 0.
while (process.MainWindowHandle == IntPtr.Zero)
{
Thread.Sleep(100);
process.Refresh();
}
Just like this answer: c# MainWindowHandle always zero