It's not a bug, it is how Unity works: Every GameObject that has a Material applied to it doesn't create an instance of that Material, but a reference to it. That's why you can't change the Material of certain GameObjects individually.
Much like Prefabs, if you change a value of a Material (like Color) at runtime, it applies that change to the (in this case .mat) file in the Assets-Folder.
In that Action, you also can't store the previous color and reapply that when leaving Play-Mode since it doesn't have control over it once you leave the State it's in.
Long story short - You can only do a work-around like (and that's what I always do, wich works flawlessly) resetting the default color in the Start-State or when the game starts.
So you just create another Set Material Color wich applies the default color (the one before you change it) in any early State where it's appropriate.