[Ide] Fix a race condition loading up the solution

It's unsafe to iterate over the Items collection in the background thread
while we simultaenously add items to it on the UI thread. Rather than
disabling this functionality completely I am simply moving it to execute
on the main thread. This sill fix the race condition completely and is
much much simpler than trying to make this code threadsafe.