That said, my org supports up to 4 concurrent interns (typically we have 2-3 at any given point), and they could work for 4 months to 2+ years if they want, 15-40 hours/week -- adjustable for summers, etc... But they need to be at a stage where code review is going over application of theory, not telling them about when to use functions.
We lose a lot of interns after 3-5 months, but if they came in knowing the basics, we usually get something out of it (though the cost-benefit is usually negative). We want to support internships, though, so we keep doing them.