doutrina dbal querybuilder como declaração preparada

Estou tentando criar um objeto querybuilder do DBAL do Doctrine e definir um parâmetro nele. (usando um postgres db, dbal 2.3.4, doutrina

$connection = $this->_em->getConnection();
$qb = $connection->createQueryBuilder();
$qb->select('tbl_user_contract.pkid AS pkid');
$qb->from('tbl_user_contract', 'tbl_user_contract');
$qb->join('tbl_user_contract', 'tbl_user', 'tbl_user', 'tbl_user_contract.fk_user = tbl_user.pkid');
$qb->where('tbl_user.pkid = :userid');
$qb->setParameter(':userid', 10);

Quando tento obter os resultados desse objeto querybuilder, recebo o seguinte erro:

SQLSTATE[08P01]: <<Unknown error>>: 7 ERROR: bind message supplies 0 parameters, 
but prepared statement "pdo_stmt_00000002" requires 1

Quando eu verifico os logs do postgres, vejo a consulta passando e percebo que ela espera um parâmetro, mas não receberei um parâmetro passado.

Eu tentei definir o id na própria expressão where (sem usar instruções preparadas), que funcionou. Mas eu realmente quero que isso funcione com declarações preparadas.

Alguém sabe como resolver isso?

desde já, obrigado