The more "dynamic" your code, the less performant, however this is mostly negligible unless you are doing some heavy stuff.
The way you design these dynamic controls (and how and when to load them) will be the determent factor here.
Memory leaks are very unlikely, bugs only if you develop them :-).
Quote:
another issues
Designing a good flow and stable dynamic creating and loading controls requires proper design. Don't jump into it too quickly. I also propose to keep stuff static as sort of a skeleton in which your dynamically created controls move. eg a mainwindow with fixed frames, a dialog with OK/Cancel buttons on which you place a user control depending on the usage, etc ...
Make sure to use "user controls" :-)
hope this helps.
good luck.