The render() method in effectLayer.ts checks whether the current main texture size matches the desired size; it disposes and recreates it if it doesn’t. Unfortunately when running with the null engine, the size of the created texture is always zero (whatever size arguments are passed into its constructor) so it never matches the desired size and is thus recreated every time.
I’m afraid I haven’t created a repro of this outside my project (let me know if you need one), but I do have a proposed fix. Changing things such that textures return their intended size when running under the null engine seemed like quite an invasive and risky change, so my fix just changes effectLayer.ts to remember the size it asked for and check against that rather than the reported size of the texture. This is the PR: Fix bug where glow layer is recreated every frame under NullEngine by djn24 · Pull Request #16908 · BabylonJS/Babylon.js · GitHub