You can change the program member status based on exhausted content - but it is a batch campaign - not a trigger. I run mine on a weekly basis because it makes sense for our cadence. Member of engagement program > take a look at the conditions. Exhausted content = True.
I like to just add exhausted members to a smart list (using a weekly batch campaign)... Changing program status seems too permanent - what if you add new content later on?