replied on December 7, 2022
First, I don't think what you're doing is intended, exactly. For a boolean property, why not just use tokens? The activity property binding functionality was intended for complex objects, such as a Laserfiche Entry or collections of things.
But to answer your posted question, if I recall correctly (and it's been a long time so take this with a grain of salt...), using the "reference to another activity" functionality requires that your runtime activity has a DependencyProperty. In this case, a DependencyProperty named UseAnchorStringProperty (the property name + "Property"). Something is assuming that property exists and it's throwing an unhandled exception when it doesn't.
For example, for custom activities that have a connection profile, our CustomProfileActivity has a ProfileId property declared like this:
/// <summary>The name of the connection profile id property.</summary>
public const string ProfileIdPropertyName = "ProfileId";
/// <summary>The connection profile id property.</summary>
public static DependencyProperty ProfileIdProperty;
/// <summary>
/// Initializes the <see cref="CustomProfileActivity"/> class.
/// </summary>
static CustomProfileActivity()
{
ProfileIdProperty = DependencyProperty.Register(ProfileIdPropertyName, typeof(Guid), typeof(CustomProfileActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata));
}