Почему нерабочий, потому что рандомные числа берутся?
У нас в доке на сказано что будет если передать невалидный ID. Если там возникнет исключение - то может все и нормально, так как у вас дальнейший код сразу отвалится. А если там вернется null, то тогда идет дальнейшая работа с невалидным объектом. Несмертельно но и ничего хорошо.
И ещё вопрос: зачем делать эти две строчки?
Пости все объекты, создаваемые от Application у нас глобальные. Один раз создаются и живут все время.
Это позволяет проще писать скрипты. Но! Создавая кучу таких объектов в итоге вы можете получить Out of memory или Out of system resources. Поэтому если вы создаете их много - лучше их удалять.
Вы пробовали запускать мой пример? Ошибка возникает?
Не пробовал, но просто пример аналогичный написал, обработав ошибки и сразу подчистив объекты.
В Net вы не управляете временем жизни объекта, за вас это делает сборщик мусора. Возможно в этом проблема, не знаю что у вас в данном случае, подозреваю что ошибка идет на этапе уничтожения объектов.
Спасибо сказали: q41HCxSH0bAz1Reugyc01