В этом есть один недостаток, который я недавно обнаружил сам, потому что я также использую этот метод обеспечения последовательного выполнения задач.
В моем приложении у меня были тысячи экземпляров этих мини-очередей, и я быстро обнаружил, что у меня проблемы с памятью. Поскольку эти очереди часто простаивали, я долгое время держался за последний завершенный объект задачи и предотвращал сборку мусора. Поскольку конечный объект последней выполненной задачи часто превышал 85 000 байт, он был выделен в кучу больших объектов (которая не выполняет сжатие во время сборки мусора). Это привело к фрагментации LOH, и процесс непрерывно увеличивался в размере.
Как хак, чтобы избежать этого, вы можете запланировать неоперативную задачу сразу после реальной в вашем замке. Для реального решения мне нужно перейти на другой метод управления расписанием.