В версии QUIK 12.2.1.2 (а, похоже, и в более ранних) при запуске любого коллбека отключается сборка мусора (collectgarbage('stop')), а после его отработки включается (collectgarbage('restart')). В общем, решение разумное, повышающее надежность, но не сохраняющее состояние сборки мусора скрипта. Это неправильно.
Надо:
1) сохранять состояние сборки мусора скрипта перед выполнением коллбека;
2) отключать сборку сборку мусора;
3) выполнять коллбек;
4) восстанавливать состояние сборки мусора.
Надо:
1) сохранять состояние сборки мусора скрипта перед выполнением коллбека;
2) отключать сборку сборку мусора;
3) выполнять коллбек;
4) восстанавливать состояние сборки мусора.