I've read before that they don't want to make it easy to get a guaranteed 48 minutes for training in a single game.
Also, players with very low stamina are more likely to be replaced because of fatigue. Even despite your lineup settings. That used to happen to me sometimes. I guess you can prevent that by only dressing 5 players. Or you can train his stamina higher.
I don't think it's just stamina, though - I have three guys that I'm training out of position and one of the three is the one that's missed a few minutes I think three or four times in the season and a half I've had them. He's also the one who is absolutely the worst suited for the position he's in, though. I think if the player is bad enough the game may decide to swap him out for one of the other starters, but it's infrequent enough that coming up with any real pattern is difficult.
The other scenario that I do know occurs is that if one of your players goes to the line and the coach calls garbage time then, the player at the line can't be substituted so his backup will replace the trainee. That one happens pretty infrequently but is at least easier to identify - the late minute or two on the bench for no apparent reason is still a mystery.