Ok, the fix needs to be applied in the /administrator/components/com_virtuemart/helpers/vmmodel.php file. Make sure to back it up before making any modifications to it!
1. Open the /administrator/components/com_virtuemart/helpers/vmmodel.php file in text editor
2. In class VmPagination find the function getLimitBox()
3. In that function between lines 699 and 710 there is the function JRoute::_() called multiple times, for example the following line:
$limits[]=JHtml::_('select.option', JRoute::_( $link.'&limit='. $items), $items);
4. Find every occurence of the JRoute::_() function call and add one parameter to it with value "false", so the line from previous step will become:
$limits[]=JHtml::_('select.option', JRoute::_( $link.'&limit='. $items, false), $items);
notice the ", false" being added inside the JRoute::_() function call
This should fix the multiple amp; problem.
The problem is that by default the JRoute::_() function already uses & in the generated URL, but Joomla's JHTML::_('select.genericlist') function used later replaces the "&" character with another "&".