It's not so much an economic obstacle as a geographical one--the tunnel between the rest of the line and the Hunter Street station won't allow any additional traffic.
To be pedantic, it's a economic obstacle created by a geographical one.
The bottleneck amounts to about 1200 m of single track on a fully-CTC'ed line. I don't know exactly how much signal time a single GO Train moving through chews up, but any sane railway observer would describe it as not enough to seriously impact CP's operations.
The problem is that CP gets to define what a serious impact on their operations is, not GO or anyone else. And they've become rather attached to the flexibility of making moves from their Aberdeen Yard towards Niagara and vice versa via the wye under Dundurn without feeling under the clock. So their operations folks have made it clear that added GO movement time on their rails will come at a price that they alone will set.
Prior to the construction of the layover east of the Hamilton station, there were six trips through the tunnel in the early morning (3 dead-heads in and 3 revenue out) and eight in the evening (4 revenue in and 4 dead-heads out). Now that the layover is in place, CP has in their eternal graciousness permitted GO to switch to 8 revenue trips plus 0 dead-head movements. Which, as you math whizzes out their may notice, isn't really much of a gift at all, if this is all about precious tunnel signal time.
(Interestingly, in the EA from the early 90s that resulted in public money upgrading that trackage and adding CTC, something like 16 trips/day was quoted as the plausible final capacity. So much for that!)
I'm quite certain if GO really wanted to add train trips into Hamilton, they could get out their chequebooks and pay CP for them. At least at present, there's a large chunk of the day where traffic conditions mean that the status-quo QEW express bus is a faster ride to Union than an all-stops train would be. But some extra rush-hour service would be a great addition (particularly if they could get trains out of Hamilton at a more rider-friendly time, ie later than 07:17), especially if that could come with some rudimentary counterflow service.