If the actual marathon course is somewhere remote from the city, it's unlikely such a place would have the hotel space for all the runners, and transporting them to/from the site would be a massive undertaking in itself. Chicago has about 45,000 runners every year. Then there are all the volunteers who need to get to and from stations around the course.
I'm not saying any of this to discount the argument that marathons impose a huge inconvenience, only that moving them elsewhere isn't so cut and dried a solution.