Agreed. If I can go back in time and implement this, we'd fire an MQ task and have asynchronous "Library Indexers" that are separate from app servers that handle this stuff. Similar to search, activity, etc...