Look it this way, since everything tends to infinity in the given scenario, except nasus health, wich is a finite number, and for the sake of making more easy to understand, let's say everything happens at the same time. Now in order:

-Nasus Q's Sion. (here an infinite damage source hits an infinite health pool), so as from now on, sion is still taking damage but not dying, since it will take an infinite amount of time for his health to reach zero.

-Now let's take into account the damage from the thornmail (wich is 30%), and now nasus lifesteal (20%), since thornmail damage is a higher value than the lifesteal value, nasus is now taking only a 10% damage from an infinite amount, so nasus is now dead.

-Then what happened to sion? lets take the frame of time in wich nasus Q's sion, (and just to clarify, in infinity the numbers just keep getting larger and larger), so in the moment nasus hits sion a given X amount of damage is done, at the same time an Y amount of damage is done in sion's health pool (letts say x and Y grow at the same rate, and are equal), now lets take into acount that the damage reduction of thornmail kicks in, and now the X we took from the damage in the frame of time is reduced from the damge reduction formula for armor, X is now smaller than the Y took from the same frame of time(even if they are a portion of an infinite number, since they can't keep growing because we have took a value given in the isntant everything happens), proving that sion is indeed alive.

Now all of this happens in a frame of time in which any value tending to infinite gets frozen, giving an a finite number (for obvious reasons we can't give it a value). Also all of this is made assuming that everything happens at the same time, with favorable conditions, however, in-game, it'll probably just crash.

Feel free to tell me if something is wrong with this, since i know there are alot of better people in maths than me, and this was just made to practice my logic thinking.