A patch transform can add a new component to an existing feature tree, but doing so has a significant caveat: doing so will force the existing feature(s) to be installed local. The ramification of doing that means that that feature(s)'s parent feature is also installed, and any descendants of that feature or its parents' features which follow their parent state are also installed. That is, the feature tree gets installed.
Because it's likely that files must be installed when the feature tree is installed, source is required. If source is not readily available, Windows Installer must prompt for it. If Windows Installer cannot prompt for source (silent install) or the source prompt is not satisfied by providing the correct source location, the application of the patch fails.
To prevent the installation from failing, you can make sure the product was installed from a durable source location like that on a network that is always available or cache it locally and have the installation call MsiSourceListAddSource or MsiSourceListAddSourceEx, but this still results in features being installed when perhaps an end user did not want them installed.
Another to workaround to prevent a feature tree from being installed is to add new components to a new top-level feature; or if you're not adding new features in patch transforms, you can use a type 51 custom action to set REINSTALL=ALL scheduled to execute before CostFinalize.