I have a user control that has a few public properties, one is an object where I set [Browseable(false)]. When I add this control in Visual Studio's designer the generated code sets this object to null.
public class Foo : System.Windows.Forms.UserControl
{
    [Browsable(false)]
    public object Bar { get; set; }
    [Browsable(true)]
    public bool IsSomething { get; set; }
    ...
}
private void InitializeComponent()
{
    ...
    this.foo = new Foo();
    this.foo.IsSomething = false;
    this.foo.Bar = null;
    ...
}
I don't understand why Visual Studio would want to do that and I'm curious if there is a way to mark it so that it doesn't set it. I discovered this by setting the object to something in the constructor only to watch the contol's parent set it back to null.