Hi,
Ok, first thing I would do is use an empty prefab with nothing, just an bare cube, and see if your spawning logic is good, maybe your logic spawns too many objects or goes in an infinite cycle.
then, when that works, you'll need to check your prefab and what it actually does when it starts, check each fsm and see what they do, turn them all off and turn them back on one at a time and check perfs, until you find the one giving problems and proceed further this way.
Yes, Find is not optimal, and could be the problem, in this case turn it on its head, have your fsm doing nothing ( or not this at least), and once you have spawned all instances, broadcast a global event where you pass the objects they need to store to work with, typically managers, the plyers etc, don't have each instance doing the same job, that's not optimal, do it in one place and have everyone else rely on this or be told about it in a passive way ( via a global event they implement),
Let me know how it goes
If you can properly solve this problem, you'll gain a very important expertise on how to profile and solve these typical problems.
Bye,
Jean