Мое предложение - не создавай свое.
Существуют буквально десятки легких и популярных контейнеров с большой поддержкой. Если вы строите это сами, вы сами это поддерживаете. Лично я нахожу Microsoft Unity более чем достаточным для большинства моих потребностей, он поддерживается как в .NET, так и в Silverlight, и, что немаловажно, перед ним стоит «Microsoft», чтобы сделать управление счастливым.