Non-EU migrants 'will stay at 155,000 a year'