In principle competitive bidding should result in cost savings because anyone who could do it for significantly less could profit by submitting a lower bid.
The problem is some combination of corruption and regulatory requirements. If the bureaucrats write the contract in such a way that only one company can satisfy it, that company has no effective competition so they don't have to compete on price. Same thing if the contract requirements, or the paperwork required to enter into the bidding itself, are such that smaller entities need not apply and you again have insufficient competition to drive down prices.
But none of that goes away by bringing the project in house either, you just trade corruption and high costs by contractors for corruption and high costs by public sector unions, and in that case there is explicitly not even the possibility for competition.
So you still either have to solve the corruption and bureaucracy somehow (effective method unknown), or move the project entirely to the private sector, e.g. by using the money instead to make tax cuts for regular people or transfer payments so that instead of government housing projects you leave people with the money to buy market rate housing directly, or whatever else they need.