It is pure MSI problem. MSI may decide that reboot needed even without your consent.
Wix# Reboot sample shows the (commented) techniques of controlling implicit MSI rebooting policies. Most likely you will be able to address the issue with:
Wix# Reboot sample shows the (commented) techniques of controlling implicit MSI rebooting policies. Most likely you will be able to address the issue with:
project.RebootSupressing = RebootSupressing.ReallySuppress;