E' normalissimo, niente di strano.
I numeri a virgola mobile, Float e Double, vengono memorizzati in mantissa ed esponente, dove quindi il numero reale memorizzato viene calcolato come mantissa per 2 elevato all'esponente.
Da qui si capisce subito che c'è sempre un piccolo grado di errore, trovi maggiori informazioni qui:
Numero in virgola_mobile
Ti consiglio quindi una volta finito il calcolo di arrotondare il numero a quante cifre decimali ti servono, ad esempio:
ResultD = Round2(0.15 * 3, 2)
Sergio