Hi,
I think yes, what's the problem? If the block-main-thread-time is caused by creation of new object I may pre-create some objects, save them in a pool (maybe 10 objects), when the scene is loaded, and use a thread to monitor&fill that pool until the object number reaches max value (10). When you need a new object in Update() or other place in main thread, just take it from the pool, instead of creating a new one.
Also check which collider you're using. Avoid using mesh collider.
I think yes, what's the problem? If the block-main-thread-time is caused by creation of new object I may pre-create some objects, save them in a pool (maybe 10 objects), when the scene is loaded, and use a thread to monitor&fill that pool until the object number reaches max value (10). When you need a new object in Update() or other place in main thread, just take it from the pool, instead of creating a new one.
Also check which collider you're using. Avoid using mesh collider.