Reproduction steps:
1. Open the attached project ("EndLayoutGroup_Bug.zip")
2. Select a GameObject from the Hierarchy window
3. Click the "Button" in the Inspector window
4. Click Cancel or Save in the SaveFilePanel
5. If there is no error in the Console, repeat steps 4-5
Expected result: There are no errors in the Console window
Actual result: An error is thrown:
EndLayoutGroup: BeginLayoutGroup must be called first.
UnityEngine.GUI/Scope:Dispose ()
Reproducible with: 2021.2.0a19, 2021.2.6f1, 2021.2.0b1
Not reproducible with: 2019.4.33f1, 2020.3.24f1
Notes:
1. It might take ~20 tries to reproduce
2. Not reproducible by pressing the ECS key to cancel
3. Reproducible on macOS, a similar issue exists on Windows: https://issuetracker.unity3d.com/product/unity/issues/guid/1380316/
Workaround: Adding GUIUtility.ExitGUI(); after invoking the SaveFilePanel