The problem is with how GO times their transfers. There's around 15 minutes of padding in the schedule, and the bus is scheduled to arrive at the station 15 minutes before the train's departure. Since there usually isn't much traffic on the route, this means you end up waiting the maximum possible amount of time to transfer to an every 30 minute train. I sometimes take the 12B from Niagara and it works the same way. If there's no traffic, you'll be able to make the 30 minute earlier train if you run.