JSFiddle - React, Tailwind, and code Playground

HTML

<canvas id="renderCanvas" />

JavaScript

var setupLeakTime = 100;

var renderCanvas = document.getElementById('renderCanvas');

var gl = renderCanvas.getContext('webgl');
gl.clearColor(1, 0, 1, 1);

var leakMode = true;

setInterval(() => {
  leakMode = !leakMode;
}, setupLeakTime);

var raf = () => {
	window.requestAnimationFrame(renderLoop);
}

var renderLoop = () => {
	if (leakMode) {
		var size = 16 + Math.ceil(Math.random() * 2032);
  	renderCanvas.width = size;
  	renderCanvas.height = size;
  	leakMode = false;
  }

	gl.clear(gl.COLOR_BUFFER_BIT);	

	raf();
};
raf();