Storyboard.SetTarget() does not work if passed a DependencyObject that has no name, and is not a UIElement. The call succeeds with no exception, by the storyboard will not animate. The workaround is to use Storyboard.SetTargetName instead, and call RegisterName the DependencyObject. The documentation and method signature for for Storyboard.SetTarget do not indicate this restriction.
See this often-linked discussion for details: