Great question! Hopefully I can clear things up by providing a little insight on when First Launches and Upgrades are reported.
First Launches - this event is only sent in the first time a user launches your app. Think of a first launch as a net-new user.
Upgrades - this event is only sent in the first time a user launches your app, and the previous launch of your app was a different version.
These are both event-type variables, meaning they get counted only when they're sent in. In other words, when a user upgrades the version of your app, they won't forever be considered an "upgraded user". Rather, the instance of their upgrade is what gets reported.
What I see in the graph you've posted looks like what I would expect for any new version. As the new version is released and your users upgrade, you'll see that spike in "Upgrade" instances. Then as time continues, that number will continue to fall because a single user cannot upgrade to the same version more than once.
I am a little confused by the data in the table. It looks like there are four separate spikes of upgrade events, which is not reflected in the graph. Is the data in the graph different from that in the table?