I did looked at your code but this is very difficult to debug without the whole project. The only thing I can think is if we look at the error message is when you instantiate your prefab try to use gameObject.setActive(true) before starting the coroutine.