メインフォームを非表示でアプリケーションを立ち上げるには、SetVisibleCore を オーバーライドして、初回の引数を false にします。 Load イベントが起きなくなるので、HandleCreated イベントなどで代用するといいでしょう。
public partial class MainForm : Form
{
    private bool firstTimeVisible = true;
    public MainForm() {
        InitializeComponent();
    }
    protected override void SetVisibleCore(bool value) {
        if (firstTimeVisible) {
            firstTimeVisible = false;
            value = false;
            CreateHandle();
        }
        base.SetVisibleCore(value);
    }
}