It's hard to say without much detail, but I usually expected that the factory implementation would depend on the particular class that instantiated it. In my opinion, this is a completely natural addiction.
If you want to make it a very general factory, which essentially adds value precisely because it uses reflection - essentially doing a small part of what most IoC containers do - then that's fine; but if it is a factory for one specific type, I would just accept the dependency. This is likely to lead to code that is easier to understand and verify, and will also be more efficient.
source share