The indexing part is very CPU bound. So maybe it is having a hard time processing both indexing, the vectorization and answering those query/ingestion requests.
On top of the resources you gave to colima, it is interesting to play around with some resource limiting env vars:
We have some error handling tips you can do while importing, but we indeed can improve the docs on advanced batching tips and tricks.
There is a Spark connector, that can be used to create a more robust pipeline and I recall some other tools too.
For example, some time ago, we had this awesome integration between quix and weaviate:
Powering Vector Search with Real-Time Data
Let me know if this helps!