Проблема в том, что здесь:
<MenuItems>
<my:MenuItem Text="Test" NavigateUrl="~/Default.aspx" />
</MenuItems>
ASP.net пытается добавить в список MenuItems, он делает это, вызывая
MenuItems.Add(...)
Однако, поскольку m_Items равенНичего, это дает вам ошибку.Чтобы исправить это, замените
Private m_Items As List(Of MenuItem) = Nothing
на
Private m_Items As List(Of MenuItem) = New List(Of MenuItem)()