I am experiencing the same issue. When I first launch Drawbot and run the script, it works fine. If I try to run it a second time Drawbot freezes (but it saves the gif anyways).
This is the script:
font_name = 'MalvaVariable-Italic'
min_var = listFontVariations(font_name)['wght']['minValue']
max_var = listFontVariations(font_name)['wght']['maxValue']
w, h = 980, 490
texto = 'Animating in Drawbot!'
steps = len(texto)
step_size = (max_var - min_var) / (steps-1)
lines = 5
font_size = w/12
step_rad = 2*pi / steps
frames = 30
total_duration = 2 # in seconds
frame_duration = total_duration / frames
for frame in range(frames):
    newPage(w, h)
    frameDuration(frame_duration)
    fill(25/255, 29/255, 59/255)
    rect(0,0,w,h)
    y = (h - (lines * font_size)) / 2
    y += w/50
    
    frame_start = (2*pi) * frame/frames
    for l in range(lines):
        step_start = frame_start - (pi * (l / (lines -1)))
        
        txt = FormattedString()
        txt.fill(235/255, 0/255, 89/255)
        txt.font(font_name)
        txt.fontSize(font_size)
        txt.lineHeight(font_size)
        txt.openTypeFeatures(ss01=True)
        for i in range(steps):
            inst_step = pi * (i / (steps -1))
            curr_step = (cos(step_start - inst_step) + 1) / 2
            curr_step /= 1
            curr_value = min_var + curr_step * (max_var - min_var)
            txt.append(
                texto[i], 
                fontVariations=dict(wght=curr_value)
                )
        textWidth, textHeight = textSize(txt)
        text(txt, ((w-textWidth)/2, y))
        y += font_size
    
saveImage('output.gif')