memory leak?

If reduce-memory isn't helping, then most likely the culprit is state you
are building up in script variables. You can generate lightweight periodic
script statistics by @load'ing stats.bro, or heavier-weight and more detailed
using profiling.bro. You can also see the sizes of your script variables
using the function global_sizes() (see for example print-globals.bro, which
simply calls this when Bro exits). Often a way to hone in on which variable
is getting large is to either run on a trace and use print-globals to dump
the sizes when Bro finishes, or set up a timer to print out global_sizes()
every minute or so.