It seems that adding and removing pushpins leads to memory leak.
Example you can see here, in Chrome click shift + esc to see memory consumption.
Also, in that example you can see how to add or remove pushpins:
point = new Microsoft.Maps.Location(getRandomInRange(-180, 180, 3), getRandomInRange(-180, 180, 3));
pin = new Microsoft.Maps.Pushpin(point, {
text: ('p')
});
myMap.entities.push(pin);