I do have 1 more question about this topic. When I use the same technique as sunburnt posted. I need to constantly check data on my plugins (sometimes it may be a lot in a few seconds, sometimes it may be none for an hour). If I create a List<IPlugin> and load all of the interfaces into the list, how expensive will that be? Will it include the whole UserControl? Or should I use a different method (like an array of strings that have the Plugin's path and just seem reloading it (though this may not fit with my design))?