You want the simple answer to this?
No (can't get more simple than that).
No, it should not have finished under green.
NASCAR did the right thing in flying the yellow flag when they did. Wow, I'm agreeing with what NASCAR did, pinch me to see if I'm sleeping.
NASCAR may have set a precedent back at the 2007 Daytona 500 when they didn't let the yellow flag fly when the competitors started wrecking coming out of turn 4, headed into the tri-oval area, but it does not apply to this situation.
O.K. at Daytona they started wrecking coming out of Turn 4 onto the front stretch and NASCAR allowed them to continue the rest of the distance knowing full well that once the cars cross the finish line they will slow down long before they get to the mess and carnage in Turn 4, thus providing a safe environment for both the crashed drivers and the rescue workers.
Where as Sunday's race the mess happened coming out of Turn 2 onto the back stretch and that, combined with the fact that the start/finish line is just before Turn 1 at the the end of the front stretch, you end up with a very unsafe environment for those who crashed, the drivers who didn't crash who are still moving at a high rate of speed because they raced hard until the end, and of course the rescue workers who would either still on route to the scene of the crash or already there.
A precedent may have been set at Daytona in 2007, but NASCAR didn't follow it and rightly so. Now quit your moaning, because if you look at the facts you'll agree with me that NASCAR got it right.