Your test makes no sence for a start so is inconclusive as a result.
Your echoing in color 12 if it matches 30 characters.
If not your acttually running the generation of a new binary number and then attempting to execute it as a command.

Try this code.
alias makebin {
  if (!$0) { .timer.makebin -m 100000 1 makebin - }
  else {
    var %zzz = $make.bin
    echo -s $calc(100000 - $timer($ctimer).reps) : %zzz : $len(%zzz) 
    if ($len(%zzz) != 30) { .timer.makebin off }

This should not lag or freeze up mirc and should attempt 100,000 generations, stopping if it locates one thats not 30 in length.

* PS: i ran this and it did the whole 100,000 with out error (well ok truth its still doing em but i cant be bothered waiting)