Perhaps you are considering the problem incorrectly. WP7 is compact (albeit powerful), which differs in that it shows the user what they want to know quickly (when applications are written correctly).
The user cannot see 600 pushpins at a time on a small device, so why not just show them the buttons that are in the visibility area (or next to it) and add buttons when the user clicks on the map
Alternatively, you can “leak out” by submitting buttons, adding them one (or more) at a time with the help DispatcherTimer, so that the user gradually adds pushpins without a significant impact on performance.
( ) MapItemsControl DataTemplate Pushpin pushpin. ObservableCollection, "", , .