Это потому, что вы добавляете его в элементы управления на странице, а не в пользовательский элемент управления ...
Ваш код будет вызываться со страницы, когда страница инициализирует свои элементы управления, и, очевидно, в этот момент вы не сможете добавить дополнительный элемент управления к существующему (частично инициализированному) дереву элементов управления страницы ...
Кроме того, всегда разумно добавлять элементы управления только в свой пользовательский элемент управления, чем работать с элементами управления на странице, поскольку вы не будете знать, какая страница может в конечном итоге использовать ваш элемент управления.
Попробуйте это:
this.Controls.Add(l)