Maybe this'll help someone help me! This is my CallStack when I'm in DummyDesignerHost's GetDesigner method.
Looking through it I see that I'm getting to the TypeBrowserDialog of System.Component.Workflow so this seems at least partially right. I just don't know why my GetService method of ContextProxy loops so much and eventually creates the DummyDesignerHost. I don't want it to be the DummyDesignerHost

. I want it to be the real designer host, Visual Studio!!!
Any thoughts?
TypeBrowserLibrary.dll!TypeBrowser.MyTypeBrowserEditor.DummyDesignerHost.GetDesigner(System.ComponentModel.IComponent component = { [System.Windows.Forms.PropertyGrid]}) Line 571 C#
> System.Design.dll!System.ComponentModel.Design.TypeDescriptorFilterService.GetDesigner(System.ComponentModel.IComponent component) + 0x48 bytes
System.Design.dll!System.ComponentModel.Design.TypeDescriptorFilterService.System.ComponentModel.Design.ITypeDescriptorFilterService.FilterAttributes(System.ComponentModel.IComponent component, System.Collections.IDictionary attributes = Count = 16) + 0x1b bytes
System.dll!System.ComponentModel.TypeDescriptor.PipelineFilter(int pipelineType = 0, System.Collections.ICollection members, object instance, System.Collections.IDictionary cache = Count = 0) + 0x1fd bytes
System.dll!System.ComponentModel.TypeDescriptor.GetAttributes(object component, bool noCustomTypeDesc) + 0x9a bytes
System.dll!System.ComponentModel.TypeDescriptor.GetAttributes(object component) + 0x7 bytes
System.Design.dll!System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.ModifiersExtenderProvider.CanExtend(object o) + 0x3a bytes
System.dll!System.ComponentModel.ReflectTypeDescriptionProvider.GetExtenders(System.Collections.ICollection components = {Dimensions:

}, object instance = { [System.Windows.Forms.PropertyGrid]}, System.Collections.IDictionary cache = Count = 0) + 0xe9 bytes
System.dll!System.ComponentModel.ReflectTypeDescriptionProvider.GetExtendedProperties(object instance) + 0xc1 bytes
System.dll!System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultExtendedTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetProperties() + 0x25 bytes
System.dll!System.ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultExtendedTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetProperties() + 0x42 bytes
System.dll!System.ComponentModel.TypeDescriptor.GetPropertiesImpl(object component = { [System.Windows.Forms.PropertyGrid]}, System.Attribute[] attributes = null, bool noCustomTypeDesc, bool noAttributes) + 0xea bytes
System.dll!System.ComponentModel.TypeDescriptor.GetProperties(object component) + 0xb bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.System.Windows.Forms.Layout.IArrangedElement.SetBounds(System.Drawing.Rectangle bounds, System.Windows.Forms.BoundsSpecified specified = None) + 0x195 bytes
System.Windows.Forms.dll!System.Windows.Forms.Layout.DefaultLayout.xLayoutDockedControl(System.Windows.Forms.Layout.IArrangedElement element, System.Drawing.Rectangle newElementBounds, bool measureOnly, ref System.Drawing.Size preferredSize, ref System.Drawing.Rectangle remainingBounds) + 0x3a bytes
System.Windows.Forms.dll!System.Windows.Forms.Layout.DefaultLayout.LayoutDockedControls(System.Windows.Forms.Layout.IArrangedElement container, bool measureOnly = false) + 0x41f bytes
System.Windows.Forms.dll!System.Windows.Forms.Layout.DefaultLayout.xLayout(System.Windows.Forms.Layout.IArrangedElement container = {TabPage: {Advanced}}, bool measureOnly = false, out System.Drawing.Size preferredSize = {Width = -7103 Height = -7105}) + 0x134 bytes
System.Windows.Forms.dll!System.Windows.Forms.Layout.DefaultLayout.LayoutCore(System.Windows.Forms.Layout.IArrangedElement container, System.Windows.Forms.LayoutEventArgs args) + 0x19 bytes
System.Windows.Forms.dll!System.Windows.Forms.Layout.LayoutEngine.Layout(object container, System.Windows.Forms.LayoutEventArgs layoutEventArgs) + 0x19 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.OnLayout(System.Windows.Forms.LayoutEventArgs levent) + 0x78 bytes
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.OnLayout(System.Windows.Forms.LayoutEventArgs levent) + 0x49 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.PerformLayout(System.Windows.Forms.LayoutEventArgs args) + 0xa7 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.PerformLayout() + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ResumeLayout(bool performLayout = true) + 0x80 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.Scale(float dx, float dy) + 0x59 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ScaleCore(float dx, float dy) + 0x15f bytes
System.Windows.Forms.dll!System.Windows.Forms.TabControl.ScaleCore(float dx, float dy) + 0x19 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.Scale(float dx, float dy) + 0x37 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.ScaleCore(float x = 1.0, float y = 1.15692317) + 0x194 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.Scale(float dx, float dy) + 0x37 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.ApplyAutoScaling() + 0x104 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.OnLoad(System.EventArgs e = {System.EventArgs}) + 0xe3 bytes
System.Workflow.ComponentModel.dll!System.Workflow.ComponentModel.Design.TypeBrowserDialog.OnLoad(System.EventArgs e) + 0x1c bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.OnCreateControl() + 0x52 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl(bool fIgnoreVisible) + 0x172 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.CreateControl() + 0x1b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmShowWindow(ref System.Windows.Forms.Message m) + 0x8e bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x70b bytes
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) + 0x45 bytes
System.Windows.Forms.dll!System.Windows.Forms.ContainerControl.WndProc(ref System.Windows.Forms.Message m) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.WmShowWindow(ref System.Windows.Forms.Message m) + 0x3e bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.WndProc(ref System.Windows.Forms.Message m) + 0x230 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0xd bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0xd6 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 24, System.IntPtr wparam, System.IntPtr lparam) + 0x75 bytes
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Control.SetVisibleCore(bool value = true) + 0x125 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.SetVisibleCore(bool value = true) + 0xb7 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.Visible.set(bool value) + 0xe bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = 4, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.Application.ModalApplicationContext}) + 0x1b2 bytes
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x53 bytes
System.Windows.Forms.dll!System.Windows.Forms.Form.ShowDialog(System.Windows.Forms.IWin32Window owner) + 0x4ee bytes
Microsoft.VisualStudio.dll!Microsoft.VisualStudio.UIService.System.Windows.Forms.Design.IUIService.ShowDialog(System.Windows.Forms.Form form = { [System.Workflow.ComponentModel.Design.TypeBrowserDialog], Text: Browse and Select a .NET Type}) + 0x76 bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.PropertyGridView.ShowDialog(System.Windows.Forms.Form dialog) + 0x169 bytes
System.Workflow.ComponentModel.dll!System.Workflow.ComponentModel.Design.TypeBrowserEditor.EditValue(System.ComponentModel.ITypeDescriptorContext typeDescriptorContext = {TypeBrowser.MyTypeBrowserEditor.ContextProxy}, System.IServiceProvider serviceProvider, object value) + 0x333 bytes
TypeBrowserLibrary.dll!TypeBrowser.MyTypeBrowserEditor.EditValue(System.ComponentModel.ITypeDescriptorContext context = {System.Windows.Forms.PropertyGridInternal.PropertyDescriptorGridEntry DataContractType}, System.IServiceProvider provider = {System.Windows.Forms.PropertyGridInternal.PropertyDescriptorGridEntry DataContractType}, object value = null) Line 93 + 0x16 bytes C#
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.GridEntry.EditPropertyValue(System.Windows.Forms.PropertyGridInternal.PropertyGridView iva = {System.Windows.Forms.PropertyGridInternal.PropertyGridView}) + 0x4c bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.PropertyDescriptorGridEntry.EditPropertyValue(System.Windows.Forms.PropertyGridInternal.PropertyGridView iva) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.PropertyGridView.PopupDialog(int row) + 0x703 bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.PropertyGridView.OnBtnClick(object sender, System.EventArgs e) + 0x87 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.OnClick(System.EventArgs e) + 0x57 bytes
System.Windows.Forms.dll!System.Windows.Forms.Button.OnClick(System.EventArgs e) + 0x49 bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.DropDownButton.OnClick(System.EventArgs e) + 0xe bytes
System.Windows.Forms.dll!System.Windows.Forms.Button.OnMouseUp(System.Windows.Forms.MouseEventArgs mevent = {X = 9 Y = 9 Button = Left}) + 0xc3 bytes
System.Windows.Forms.dll!System.Windows.Forms.PropertyGridInternal.DropDownButton.OnMouseUp(System.Windows.Forms.MouseEventArgs e) + 0xe bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseUp(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks) + 0xf2 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x544 bytes
System.Windows.Forms.dll!System.Windows.Forms.ButtonBase.WndProc(ref System.Windows.Forms.Message m) + 0xce bytes
System.Windows.Forms.dll!System.Windows.Forms.Button.WndProc(ref System.Windows.Forms.Message m) + 0x2b bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0xd bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0xd6 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 514, System.IntPtr wparam, System.IntPtr lparam) + 0x75 bytes