Problema de redondeo BigDecimal HALF_UP

Estoy tratando de redondear 0.14049 usando el modo de redondeo scale = 3 y HALF_UP y espero ver el valor redondeado = 0.141 pero obtengo 0.140 en su lugar.

Según tengo entendido, el último dígito decimal 9 debería redondear el 4 al 5 y que a su vez debería redondear el 0 al 1 cuando use la escala 3 y debería ver 0.141.

¿Es un error en el método BigDecimal setScale o mi expectativa de redondeo es incorrecta? ¿Cómo puedo obtener valores redondeados similares a 0.141 y no 0.140?

BigDecimal bd=new BigDecimal("0.14049");
BigDecimal normalizedField = field.setScale(3, RoundingMode.HALF_UP);
System.out.println(normalizedField);
// Output = 0.140

Respuestas a la pregunta(2)

Su respuesta a la pregunta