something that i see is that when you
Code:
delete MeshList[i]
what is happening is you are deleting the memory there and the spot in you vector, so every thing will be moved up in you vector. so you need to do
Code:
delete MeshList[i]
i--;
this is only a issue because you used .size() for your comparison

i dont know if this will fix anything but it is some thing to look at