Instantiate a Prefab without inheriting values from original Prefabs

I've noticed that when I Instantiate a prefab from itself, It inherits the values and changes to the any clone of that prefab that are already there.

For example my prefab is BoxA, BoxA has a OnMouseClick script that Instantiates a BoxB as it's child. When I instantiate BoxA(Clone) there is also a BoxB(Clone) inside that. I just want BoxA as it is inside the assets folder (without a BoxB as a child).

It sounds like you're instantiaing a copy of an instance of a prefab. Once you instantiate a copy of a prefab it's just a GameObject, and if you use THAT GameObject you get a copy of the whole thing, it has nothing to do with the orignal prefab. So if you want another copy of the prefab use the prefab with Instantiate, not the GameObject you made.