This caused UB in the tests now that tests are all ran inside the same context. A shader could be free but its pointer would be dangling inside the `Context`. A new shader could have the same address and generate UB after binding. This is not the best way to solve this issue but at least we prevent the use of the UB. Pull Request: https://projects.blender.org/blender/blender/pulls/139109