Задачу пустить в отдельном потоке. Запоминать не только позиции, но и радиус(например) будущего объекта. Каждый следующий объект проверять вручную на пересечение с другими. Готовый список объектов с позициями скормить в основной поток unity. Пусть создает 10000 объектов
Да это при старте сервера происходит и генерации новой карты, так что можно и в основном, но только без пропуска кадров.