Mark,
You can use RemoveObject() at runtime, but you can't delete them at design time. You have to know for sure ahead of time though that you aren't going to break the class by removing the object. If there are any class methods that reference the removed object they will error.
You may want to revisit the design of that class and perhaps conditionally instantiate the component in the class.
>When we subclass we cannot remove any object in the subclassed class. Is it possible to overcome that and remove some objects?