Since managing everything seemed complicated [trains crossing other train tracks, trains going in several directions etc], I decided to have a simple loop, with branches to go to a station and come back to the main loop. It means trains lose time going round on it but at least it seemed easy to setup. I was wrong.

That's what I did, and that's how it ends up:

Now I might be a retard, but I'll explain how I understand the logic behind signals so that someone can correct my false assumptions:
Signals are paired 2 by 2 [an end of track counts as a signal], if a train is between two signals on the same piece of track, then the first is red, the second one is green and vice versa. chained signals simply repeat the last signal on the same piece of track after them.
According to that logic there's no reason why my blue train is stopped here. At all.
And to add insult to the injury, when I test that on simple test tracks it works perfectly. So I got to assume that this happens either because 0.13 is bugged or because my circuit is a huge loop. But it still makes no sense at all, especially as I paid attention to put signals and even chained signals on different branches. There's nothign on the main loop so that they don't get confused.
Now how come something as simple as my setup doesn't work and something like that does?

I'm slowly turning chaotic evil, pls halp.