Hovering over a pinned DataTip exposes some
additional UI within the debugger:

Clicking the comment button at the bottom of
this UI expands the DataTip - and allows you to optionally add a comment with
it:

This makes it really easy to attach and track
debugging notes:

Pinned DataTips are usable across both Debug Sessions
and Visual Studio Sessions

Pinned DataTips can be used across multiple debugger
sessions. This means that if you stop the debugger, make a code change,
and then recompile and start a new debug session - any pinned DataTips will
still be there, along with any comments you associate with them.

Pinned DataTips can also be used across multiple Visual
Studio sessions. This means that if you close your project, shutdown
Visual Studio, and then later open the project up again – any pinned DataTips
will still be there, along with any comments you associate with them.

See the Value from Last Debug Session (Great Code Editor
Feature)

How many times have you ever stopped the debugger only to go
back to your code and say:

$#@! – what was the value of that variable again???

One of the nice things about pinned DataTips is that they
keep track of their “last value from debug session” – and you can look these
values up within the VB/C# code editor even when the debugger is no longer
running.

DataTips are by default hidden when you are in the code
editor and the debugger isn’t running. On the left-hand margin of the
code editor, though, you’ll find a push-pin for each pinned DataTip that you’ve
previously setup:

Hovering your mouse over a pinned DataTip will cause it to
display on the screen. Below you can see what happens when I hover over
the first pin in the editor - it displays our debug session’s last values for
the “Request” object DataTip along with the comment we associated with them:

This makes it much easier to keep track of state and
conditions as you toggle between code editing mode and debugging mode on your
projects.