This was, indeed, the issue! What I've done now is esentially I've used the article you provided as inspiration, and before I had a useEffect without cleanup & context, that simply said gsap.timeline( animate here etc.). Thank you for your help!
Now, the useEffect looks like this (for other who run into the same issue and need a quick fix) :
useEffect(() => {
let ctx = gsap.context(() => {
gsap.timeline({
scrollTrigger: {
trigger: ideRef.current,
start: "top top",
end: '+=1000',
scrub: true,
pin:true,
anticipatePin: 1,
markers: true,
}
})
}, headerRef)
return () => ctx.revert();
}, [])