It's been discussed often, It is not a case of the host railroads necessarily "prioritizing" one way or another, but in the grand scheme of things there are "slots" for every train being dispatched, more specifically Amtrak has a specific chance to hit a "slot" of priority where they are dispatched and lined to encounter as little slowdown as possible. However once Amtrak runs late and misses that slot, the hosts' responsibility changes back to keeping everything else moving so that as the example was given, the multimillion dollar intermodals make their payday. Moving Amtrak through the division when they finally get there is no longer the "slotted" movement it once was and Amtrak has to wait in line with the rest of the traffic.
Clearly this happens more often than would be appreciated by the riders, but it's a fact of the beast. The biggest problem is that one holdup early in the journey can mess up the entire schedule. For example, Let's say 49 (LSL Westbound) is held up at Syracuse because of a problem on CSX rails, now they've not only missed their slot leaving SYR, but they've now lost their slot on every division and host from there to Chicago. Sure, the dispatcher in the area may still try to prioritize them getting out as much as they can, and let's just say the Rochester and Buffalo Terminal dispatchers* might be feeling nice too because they understand what the problem was, but as soon as 49 gets out of the state, and especially onto NS track at Cleveland, there's no hope because the dispatchers can try, but their priority is to their own railroad since Amtrak is operating out of slot at that point, becoming a cascading problem all the way down the line, slower and slower, later and later.
*Please don't blast me if I listed the dispatchers wrong, I haven't been able to keep up lately with what desks to and don't exist in the Albany Division anymore...