No estoy familiarizado con ese patrón, pero talvez un ejemplo de Wikipedia te ayude:
http://en.wikipedia.org/wiki/Factory_method_pattern#Php
El & sirve para pasar una variable por referencia.
Si por ejemplo hacemos:
Código PHP:
$a = 1;
$b = 2;
$c = $a;
//Imprimo $c
echo $c; //imprime 1
$a = $a + $b;
echo "<br />";
echo $c; //aun imprime 1, porque hicimos una "copia" de la variable $a
//Mientras que pasando la variable por referencia:
$a = 1;
$b = 2;
$c = &$a; //paso la variable $a por referencia
echo "<br />";
//imprimo $c
echo $c; //imprime 1
//hago un calculo al azar:
$a = $a + $b;
echo "<br />";
//$a ahora vale 3
echo $c //imprime 3, en vez de 1, porque pasamos la variable por referencia